├── config ├── third-party.gradle ├── testdeps.gradle ├── checkstyle │ ├── suppressions.xml │ ├── java.header.noregex │ └── java.header ├── coverage.gradle ├── javadoc.gradle ├── style.gradle └── android-common.gradle ├── spi ├── proguard-rules.txt ├── AndroidManifest.xml ├── javatests │ └── java │ │ └── org │ │ └── openyolo │ │ └── spi │ │ ├── Constants.java │ │ ├── package-info.java │ │ ├── ShadowQueryResponseSender.java │ │ ├── assetlinks │ │ ├── data │ │ │ ├── WebTargetTest.java │ │ │ ├── AndroidTargetTest.java │ │ │ ├── WebSiteAssetStatementTest.java │ │ │ ├── IncludeStatementTest.java │ │ │ ├── WebAssetStatementDeserializerTest.java │ │ │ ├── IncludeAssetStatementDeserializerTest.java │ │ │ ├── AndroidAssetStatementDeserializerTest.java │ │ │ ├── AndroidAssetStatementTest.java │ │ │ ├── NamespaceTypeTest.java │ │ │ └── RelationTypeTest.java │ │ └── loader │ │ │ └── TargetAssetStatementLoaderTest.java │ │ └── ShadowAuthenticationDomain.java ├── java │ └── org │ │ └── openyolo │ │ └── spi │ │ ├── assetlinks │ │ ├── package-info.java │ │ ├── data │ │ │ ├── package-info.java │ │ │ ├── AssetStatement.java │ │ │ ├── Deserializer.java │ │ │ └── NamespaceType.java │ │ └── loader │ │ │ └── package-info.java │ │ └── package-info.java └── build.gradle ├── bbq ├── AndroidManifest.xml ├── java │ └── com │ │ └── google │ │ └── bbq │ │ ├── package-info.java │ │ ├── internal │ │ └── package-info.java │ │ └── QueryCallback.java ├── build.gradle └── proto │ └── bbq.proto ├── testapp ├── testapp.keystore ├── res │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ ├── values │ │ ├── colors.xml │ │ └── styles.xml │ ├── drawable │ │ ├── account_box_24dp.xml │ │ ├── facebook_24dp.xml │ │ ├── dice_24dp.xml │ │ └── google_24dp.xml │ └── layout │ │ ├── id_token_layout.xml │ │ ├── main_layout.xml │ │ ├── other_test_layout.xml │ │ ├── save_test_layout.xml │ │ └── delete_test_layout.xml ├── proguard-rules.txt ├── java │ └── org │ │ └── openyolo │ │ └── testapp │ │ ├── package-info.java │ │ ├── TestPageFragment.java │ │ └── GlideModule.java ├── AndroidManifest.xml └── build.gradle ├── .gitattributes ├── protocol ├── AndroidManifest.xml ├── proguard-rules.txt ├── javatests │ └── org │ │ └── openyolo │ │ └── protocol │ │ ├── package-info.java │ │ ├── internal │ │ ├── package-info.java │ │ └── ClientVersionUtilTest.java │ │ └── AdditionalPropertiesHelperTest.java ├── java │ └── org │ │ └── openyolo │ │ └── protocol │ │ ├── package-info.java │ │ ├── internal │ │ ├── package-info.java │ │ ├── ValueConverter.java │ │ ├── InternalConstants.java │ │ ├── StringUtil.java │ │ ├── NoopValueConverter.java │ │ ├── ByteStringConverters.java │ │ └── UriConverters.java │ │ ├── OpenYoloException.java │ │ ├── MalformedDataException.java │ │ ├── AdditionalPropertiesContainer.java │ │ └── AdditionalPropertiesBuilder.java └── build.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── api ├── res │ ├── drawable-hdpi │ │ ├── warning_icon.png │ │ └── google_g_standard_color.png │ ├── drawable-mdpi │ │ ├── warning_icon.png │ │ └── google_g_standard_color.png │ ├── drawable-xhdpi │ │ ├── warning_icon.png │ │ └── google_g_standard_color.png │ ├── drawable-xxhdpi │ │ ├── warning_icon.png │ │ └── google_g_standard_color.png │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── drawable │ │ └── bottom_sheet_edge.xml │ ├── layout │ │ └── provider_picker_layout.xml │ └── layout-v17 │ │ └── provider_picker_layout.xml ├── proguard-rules.txt ├── javatests │ └── org │ │ └── openyolo │ │ └── api │ │ ├── package-info.java │ │ └── internal │ │ └── ActivityResultTest.java ├── java │ └── org │ │ └── openyolo │ │ └── api │ │ ├── package-info.java │ │ ├── persistence │ │ ├── package-info.java │ │ ├── internal │ │ │ ├── package-info.java │ │ │ ├── SettingsFactory.java │ │ │ └── AppSettingsImpl.java │ │ └── AppSettings.java │ │ └── internal │ │ ├── package-info.java │ │ └── FinishWithResultActivity.java ├── AndroidManifest.xml └── build.gradle ├── .gitignore ├── demoapps ├── passwordlogin │ ├── res │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ ├── drawable │ │ │ ├── rect_border_grey_300.xml │ │ │ ├── rounded_rect_border_grey_500.xml │ │ │ ├── ic_done.xml │ │ │ └── openyolo_logo.xml │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── styles.xml │ │ │ └── strings.xml │ ├── proguard-rules.txt │ ├── java │ │ └── org │ │ │ └── openyolo │ │ │ └── demoapp │ │ │ └── passwordlogin │ │ │ ├── userdata │ │ │ ├── package-info.java │ │ │ ├── UserDatabase.java │ │ │ ├── UserDao.java │ │ │ └── UserDataSource.java │ │ │ ├── package-info.java │ │ │ ├── MainNavigator.java │ │ │ ├── GlideModule.java │ │ │ └── LoginNavigator.java │ ├── AndroidManifest.xml │ └── build.gradle └── simplest │ ├── src │ └── main │ │ ├── res │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── styles.xml │ │ │ └── strings.xml │ │ └── layout │ │ │ ├── activity_logged_in.xml │ │ │ ├── activity_main.xml │ │ │ └── activity_login.xml │ │ ├── java │ │ └── org │ │ │ └── openyolo │ │ │ └── demoapp │ │ │ └── simplest │ │ │ ├── LoggedInActivity.java │ │ │ └── MainActivity.java │ │ └── AndroidManifest.xml │ └── build.gradle ├── demoproviders ├── barbican │ ├── res │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_lock_24dp.png │ │ │ └── ic_lock_open_24dp.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_lock_24dp.png │ │ │ └── ic_lock_open_24dp.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_lock_24dp.png │ │ │ └── ic_lock_open_24dp.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_lock_24dp.png │ │ │ └── ic_lock_open_24dp.png │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ ├── drawable-v23 │ │ │ ├── lock_notification_icon.xml │ │ │ ├── unlocked_notification_icon.xml │ │ │ └── splash.xml │ │ ├── drawable │ │ │ ├── lock_notification_icon.xml │ │ │ ├── unlocked_notification_icon.xml │ │ │ ├── done_states.xml │ │ │ ├── splash.xml │ │ │ ├── done.xml │ │ │ ├── back.xml │ │ │ ├── done_disabled.xml │ │ │ ├── create.xml │ │ │ ├── lock.xml │ │ │ ├── unlock.xml │ │ │ ├── email.xml │ │ │ ├── person.xml │ │ │ ├── wipe_associations.xml │ │ │ ├── phone.xml │ │ │ └── app_icon.xml │ │ ├── values │ │ │ └── colors.xml │ │ ├── menu │ │ │ ├── menu_create.xml │ │ │ └── menu_main.xml │ │ └── layout │ │ │ ├── app_item.xml │ │ │ ├── hint_picker_layout.xml │ │ │ ├── apipairing_list_layout.xml │ │ │ ├── credential_picker_layout.xml │ │ │ ├── auto_sign_in_layout.xml │ │ │ ├── credential_picker_item_view.xml │ │ │ ├── credential_view.xml │ │ │ ├── credential_list_layout.xml │ │ │ └── delete_layout.xml │ ├── proguard-rules.txt │ ├── java │ │ └── org │ │ │ └── openyolo │ │ │ └── demoprovider │ │ │ └── barbican │ │ │ ├── package-info.java │ │ │ ├── storage │ │ │ └── package-info.java │ │ │ ├── provider │ │ │ └── package-info.java │ │ │ ├── GlideModule.java │ │ │ ├── Application.java │ │ │ └── LockActivity.java │ ├── proto │ │ └── credential-meta.proto │ └── build.gradle └── trapdoor │ ├── res │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ ├── drawable │ │ ├── copy.xml │ │ ├── copy_icon.xml │ │ └── app_icon.xml │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── layout │ │ └── dialog_layout.xml │ ├── README.md │ ├── proguard-rules.txt │ ├── java │ └── org │ │ └── openyolo │ │ └── demoprovider │ │ └── trapdoor │ │ ├── package-info.java │ │ ├── Application.java │ │ └── UserDataStore.java │ └── build.gradle ├── settings.gradle ├── AUTHORS ├── .travis.yml └── CONTRIBUTORS /config/third-party.gradle: -------------------------------------------------------------------------------- 1 | android.sourceSets.main.java.srcDirs += 'third_party' 2 | -------------------------------------------------------------------------------- /spi/proguard-rules.txt: -------------------------------------------------------------------------------- 1 | # it is safe to ignore okio warnings 2 | -dontwarn okio.** -------------------------------------------------------------------------------- /bbq/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /testapp/testapp.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/testapp/testapp.keystore -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # always use unix line endings 2 | * text eol=lf 3 | *.jar binary -diff 4 | *.png binary -diff 5 | -------------------------------------------------------------------------------- /protocol/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /spi/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /api/res/drawable-hdpi/warning_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/api/res/drawable-hdpi/warning_icon.png -------------------------------------------------------------------------------- /api/res/drawable-mdpi/warning_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/api/res/drawable-mdpi/warning_icon.png -------------------------------------------------------------------------------- /api/res/drawable-xhdpi/warning_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/api/res/drawable-xhdpi/warning_icon.png -------------------------------------------------------------------------------- /testapp/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/testapp/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /testapp/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/testapp/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /api/res/drawable-xxhdpi/warning_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/api/res/drawable-xxhdpi/warning_icon.png -------------------------------------------------------------------------------- /testapp/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/testapp/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /testapp/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/testapp/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /testapp/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/testapp/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | openyolo.keystore 2 | .gradle 3 | build 4 | .idea 5 | *.iml 6 | gradle.properties 7 | local.properties 8 | node-modules 9 | java_gen 10 | -------------------------------------------------------------------------------- /api/res/drawable-hdpi/google_g_standard_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/api/res/drawable-hdpi/google_g_standard_color.png -------------------------------------------------------------------------------- /api/res/drawable-mdpi/google_g_standard_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/api/res/drawable-mdpi/google_g_standard_color.png -------------------------------------------------------------------------------- /api/res/drawable-xhdpi/google_g_standard_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/api/res/drawable-xhdpi/google_g_standard_color.png -------------------------------------------------------------------------------- /api/res/drawable-xxhdpi/google_g_standard_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/api/res/drawable-xxhdpi/google_g_standard_color.png -------------------------------------------------------------------------------- /demoapps/passwordlogin/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoapps/passwordlogin/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoapps/passwordlogin/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoapps/passwordlogin/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoproviders/trapdoor/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/trapdoor/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoproviders/trapdoor/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/trapdoor/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoapps/passwordlogin/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoapps/passwordlogin/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoapps/passwordlogin/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoapps/passwordlogin/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoapps/passwordlogin/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoapps/passwordlogin/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-hdpi/ic_lock_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-hdpi/ic_lock_24dp.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-mdpi/ic_lock_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-mdpi/ic_lock_24dp.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-xhdpi/ic_lock_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-xhdpi/ic_lock_24dp.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-xxhdpi/ic_lock_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-xxhdpi/ic_lock_24dp.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoproviders/trapdoor/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/trapdoor/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoproviders/trapdoor/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/trapdoor/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoproviders/trapdoor/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/trapdoor/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoapps/simplest/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoapps/simplest/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoapps/simplest/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoapps/simplest/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoapps/simplest/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoapps/simplest/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoapps/simplest/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoapps/simplest/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoapps/simplest/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoapps/simplest/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-hdpi/ic_lock_open_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-hdpi/ic_lock_open_24dp.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-mdpi/ic_lock_open_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-mdpi/ic_lock_open_24dp.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-xhdpi/ic_lock_open_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-xhdpi/ic_lock_open_24dp.png -------------------------------------------------------------------------------- /demoproviders/barbican/res/mipmap-xxhdpi/ic_lock_open_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openid/OpenYOLO-Android/HEAD/demoproviders/barbican/res/mipmap-xxhdpi/ic_lock_open_24dp.png -------------------------------------------------------------------------------- /api/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #F5F5F5 4 | #89000000 5 | -------------------------------------------------------------------------------- /demoproviders/trapdoor/res/drawable/copy.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable-v23/lock_notification_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/lock_notification_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable-v23/unlocked_notification_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demoapps/passwordlogin/proguard-rules.txt: -------------------------------------------------------------------------------- 1 | -dontwarn sun.misc.Unsafe 2 | -dontwarn com.google.common.collect.MinMaxPriorityQueue 3 | -dontwarn android.arch.util.paging.CountedDataSource 4 | -dontwarn android.arch.persistence.room.paging.LimitOffsetDataSource -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/unlocked_notification_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /protocol/proguard-rules.txt: -------------------------------------------------------------------------------- 1 | # valid4j use reflection to inject Providers and Policy 2 | -keep class org.valid4j.** { *; } 3 | 4 | # it is safe to ignore okio warnings 5 | -dontwarn okio.** 6 | 7 | # Hamcrest reflection 8 | -keep class org.hamcrest.** { *; } -------------------------------------------------------------------------------- /demoapps/passwordlogin/res/drawable/rect_border_grey_300.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #546E7A 4 | #37474F 5 | #4fc3f7 6 | 7 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':bbq' 2 | include ':protocol' 3 | include ':api' 4 | include ':spi' 5 | include ':testapp' 6 | include ':demoproviders:barbican' 7 | include ':demoproviders:trapdoor' 8 | include ':demoapps:passwordlogin' 9 | include ':demoapps:simplest' 10 | -------------------------------------------------------------------------------- /demoapps/simplest/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Aug 08 12:20:01 PDT 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /config/testdeps.gradle: -------------------------------------------------------------------------------- 1 | testImplementation 'junit:junit:4.12' 2 | testImplementation 'org.mockito:mockito-core:2.8.47' 3 | testImplementation 'org.robolectric:robolectric:3.4.2' 4 | testImplementation 'com.squareup.assertj:assertj-android:1.1.1' 5 | testImplementation 'org.assertj:assertj-core:3.8.0' -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/done_states.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /testapp/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #1E88E5 4 | #0288D1 5 | #43A047 6 | 7 | #43A047 8 | 9 | -------------------------------------------------------------------------------- /demoapps/passwordlogin/res/drawable/rounded_rect_border_grey_500.xml: -------------------------------------------------------------------------------- 1 | 3 | 5 | 8 | -------------------------------------------------------------------------------- /api/res/drawable/bottom_sheet_edge.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /config/checkstyle/suppressions.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demoapps/passwordlogin/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #2491eb 4 | #36434f 5 | #4fc3f7 6 | #e0e0e0 7 | #9e9e9e 8 | -------------------------------------------------------------------------------- /demoapps/passwordlogin/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /demoproviders/trapdoor/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #8bc34a 4 | #388e3c 5 | #2e7d32 6 | 7 | #c5e1a5 8 | #8a000000 9 | 10 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /demoapps/passwordlogin/res/drawable/ic_done.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /demoproviders/trapdoor/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Trapdoor 3 | App / site name 4 | Copy password 5 | User name 6 | Enter your pin: 7 | Trapdoor icon 8 | 9 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/done.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/menu/menu_create.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS files. 3 | # See the latter for an explanation. 4 | # Names should be added to this file as: 5 | # Name or Organization 6 | # The email address is not required for organizations. 7 | # 8 | # This list is maintained in lexicographic order. 9 | 10 | AgileBits, Inc. 11 | Dashlane, Inc. 12 | Google, Inc. 13 | Keeper Security, Inc. 14 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/back.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/done_disabled.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | -------------------------------------------------------------------------------- /demoproviders/trapdoor/README.md: -------------------------------------------------------------------------------- 1 | # Trapdoor - a minimal credential provider 2 | 3 | Trapdoor is much simpler credential provider than Barbican, with no storage and a very simple 4 | cryptographic operation to generate passwords for apps. It transforms a 6-digit pin and an 5 | app identifier into a 16 character password. This approach is fine for a demo, but is riddled 6 | with issues for a real world password manager - DO NOT copy this approach for any real world 7 | usage. 8 | -------------------------------------------------------------------------------- /demoapps/simplest/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable-v23/splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /demoapps/simplest/src/main/res/layout/activity_logged_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /api/proguard-rules.txt: -------------------------------------------------------------------------------- 1 | # it is safe to ignore the resources ids from OpenYOLO api. Without this flag we have issue with picker_title, provider_list 2 | -dontwarn org.openyolo.api.R$id 3 | 4 | # valid4j use reflection to inject Providers and Policy 5 | -keep class org.valid4j.** { *; } 6 | 7 | # it is safe to ignore okio warnings 8 | -dontwarn okio.** 9 | 10 | # Hamcrest reflection 11 | -keep class org.hamcrest.** { *; } 12 | 13 | # Used by com.google.protobuf.UnsafeUtil 14 | -dontwarn sun.misc.Unsafe -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/create.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /demoproviders/trapdoor/res/drawable/copy_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | -------------------------------------------------------------------------------- /testapp/res/drawable/account_box_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 15 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/lock.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | -------------------------------------------------------------------------------- /testapp/proguard-rules.txt: -------------------------------------------------------------------------------- 1 | -dontwarn sun.misc.Unsafe 2 | -dontwarn javax.annotation.** 3 | -dontwarn java.lang.ClassValue 4 | -dontwarn com.google.j2objc.annotations.** 5 | -dontwarn com.google.errorprone.annotations.** 6 | -dontwarn com.google.appengine.** 7 | -dontwarn com.google.apphosting.** 8 | -dontwarn com.google.protobuf.Extension 9 | -dontwarn com.google.protobuf.ExtensionRegistry 10 | -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 11 | 12 | # ignore dynamic accesses in guava code 13 | -dontnote com.google.common.** 14 | 15 | # ignore dynamic accesses in javalite proto 16 | -dontnote com.google.protobuf.GeneratedMessageLite -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/unlock.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /api/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Credential provider picker 4 | Google Smart Lock 5 | 6 | Possibly unsafe 7 | 8 | Use account from: 9 | Save your account with: 10 | Use account details stored in: 11 | Delete credential from: 12 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # Travis documentation for Android project builds: 2 | # https://docs.travis-ci.com/user/languages/android 3 | 4 | language: android 5 | android: 6 | components: 7 | - build-tools-26.0.2 8 | - android-26 9 | script: 10 | - ./gradlew check jacoco assemble 11 | - bash <(curl -s https://codecov.io/bash) 12 | before_cache: 13 | - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock 14 | - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ 15 | cache: 16 | directories: 17 | - $HOME/.gradle/caches/ 18 | - $HOME/.gradle/wrapper/ 19 | - $HOME/.m2 20 | licenses: 21 | - 'android-sdk-license-.+' 22 | - 'android-sdk-preview-license.+' 23 | -------------------------------------------------------------------------------- /spi/javatests/java/org/openyolo/spi/Constants.java: -------------------------------------------------------------------------------- 1 | package org.openyolo.spi; 2 | 3 | import org.openyolo.protocol.AuthenticationDomain; 4 | 5 | /** Collection of test constants. */ 6 | public final class Constants { 7 | private Constants() {} 8 | 9 | public static final class ValidApplication { 10 | private ValidApplication() {} 11 | 12 | public static String PACKAGE_NAME = "com.super.cool.app"; 13 | 14 | private static String AUTHENTICATION_DOMAIN_STRING = "https://accounts.google.com"; 15 | public static AuthenticationDomain AUTHENTICATION_DOMAIN = 16 | new AuthenticationDomain(AUTHENTICATION_DOMAIN_STRING); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /config/checkstyle/java.header.noregex: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | -------------------------------------------------------------------------------- /demoproviders/barbican/proguard-rules.txt: -------------------------------------------------------------------------------- 1 | -dontwarn sun.misc.Unsafe 2 | -dontwarn javax.annotation.** 3 | -dontwarn java.lang.ClassValue 4 | -dontwarn com.google.j2objc.annotations.** 5 | -dontwarn com.google.errorprone.annotations.** 6 | -dontwarn com.google.appengine.** 7 | -dontwarn com.google.apphosting.** 8 | -dontwarn com.google.protobuf.Extension 9 | -dontwarn com.google.protobuf.ExtensionRegistry 10 | -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 11 | -dontwarn com.google.protobuf.UnsafeUtil 12 | 13 | # ignore dynamic accesses in guava code 14 | -dontnote com.google.common.** 15 | 16 | # ignore dynamic accesses in javalite proto 17 | -dontnote com.google.protobuf.GeneratedMessageLite -------------------------------------------------------------------------------- /demoproviders/trapdoor/proguard-rules.txt: -------------------------------------------------------------------------------- 1 | -dontwarn sun.misc.Unsafe 2 | -dontwarn javax.annotation.** 3 | -dontwarn java.lang.ClassValue 4 | -dontwarn com.google.j2objc.annotations.** 5 | -dontwarn com.google.errorprone.annotations.** 6 | -dontwarn com.google.appengine.** 7 | -dontwarn com.google.apphosting.** 8 | -dontwarn com.google.protobuf.Extension 9 | -dontwarn com.google.protobuf.ExtensionRegistry 10 | -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 11 | -dontwarn com.google.protobuf.UnsafeUtil 12 | 13 | # ignore dynamic accesses in guava code 14 | -dontnote com.google.common.** 15 | 16 | # ignore dynamic accesses in javalite proto 17 | -dontnote com.google.protobuf.GeneratedMessageLite -------------------------------------------------------------------------------- /config/checkstyle/java.header: -------------------------------------------------------------------------------- 1 | ^/\*$ 2 | ^ \* Copyright 20[0-9]{2} The OpenYOLO Authors\. All Rights Reserved\.$ 3 | ^ \*$ 4 | ^ \* Licensed under the Apache License, Version 2\.0 \(the "License"\); you may not use this file except$ 5 | ^ \* in compliance with the License\. You may obtain a copy of the License at$ 6 | ^ \*$ 7 | ^ \* http://www\.apache\.org/licenses/LICENSE-2\.0$ 8 | ^ \*$ 9 | ^ \* Unless required by applicable law or agreed to in writing, software distributed under the$ 10 | ^ \* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either$ 11 | ^ \* express or implied\. See the License for the specific language governing permissions and$ 12 | ^ \* limitations under the License\.$ 13 | ^ \*/$ -------------------------------------------------------------------------------- /demoproviders/trapdoor/res/drawable/app_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 16 | 20 | -------------------------------------------------------------------------------- /testapp/res/layout/id_token_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 13 | 14 | 18 | 19 | -------------------------------------------------------------------------------- /CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # People who have agreed to one of the CLAs and can contribute patches. 2 | # The AUTHORS file lists the copyright holders; this file 3 | # lists people. For example, Google employees are listed here 4 | # but not in AUTHORS, because Google holds the copyright. 5 | # 6 | # Names should be added to this file as: 7 | # Name 8 | # 9 | # This list is maintained in the lexicographic order of the author's full name. 10 | 11 | David Larson 12 | David Samuelson 13 | Iain McGinniss 14 | Michael Verde 15 | Stan Kocken 16 | Stanojko Markovikj 17 | Shirley Gaw 18 | -------------------------------------------------------------------------------- /demoapps/simplest/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | OpenYolo Simplest 3 | Demo of OpenYolo login/password authentication into a very simple application 4 | I have an account 5 | Create an account 6 | Username or Email 7 | Password 8 | Login 9 | Create the account 10 | You are logged in! 11 | Either the login or the password is incorrect 12 | 13 | -------------------------------------------------------------------------------- /testapp/res/drawable/facebook_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 17 | -------------------------------------------------------------------------------- /api/javatests/org/openyolo/api/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Tests for OpenYOLO API. 19 | */ 20 | package org.openyolo.api; 21 | -------------------------------------------------------------------------------- /bbq/java/com/google/bbq/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Reference implementation of the BBQ specification. 17 | */ 18 | package com.google.bbq; 19 | -------------------------------------------------------------------------------- /spi/javatests/java/org/openyolo/spi/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Tests for OpenYOLO SPI. 19 | */ 20 | package org.openyolo.spi; 21 | -------------------------------------------------------------------------------- /api/java/org/openyolo/api/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * API for apps to interact with credential managers on the user's device. 17 | */ 18 | package org.openyolo.api; 19 | -------------------------------------------------------------------------------- /api/java/org/openyolo/api/persistence/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Collection of interfaces related to persisting state. 17 | */ 18 | package org.openyolo.api.persistence; 19 | -------------------------------------------------------------------------------- /protocol/javatests/org/openyolo/protocol/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Tests for OpenYOLO Protocol core types. 19 | */ 20 | package org.openyolo.protocol; 21 | -------------------------------------------------------------------------------- /testapp/java/org/openyolo/testapp/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Example usage of the OpenYOLO API to retrieve and save credentials. 17 | */ 18 | package org.openyolo.testapp; 19 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/email.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 12 | 15 | -------------------------------------------------------------------------------- /spi/java/org/openyolo/spi/assetlinks/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Helper classes for working with Digital Asset Link statements. 17 | */ 18 | package org.openyolo.spi.assetlinks; 19 | -------------------------------------------------------------------------------- /api/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 11 | 15 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /protocol/javatests/org/openyolo/protocol/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Tests for internal utilities and types. 19 | */ 20 | package org.openyolo.protocol.internal; 21 | -------------------------------------------------------------------------------- /demoproviders/barbican/java/org/openyolo/demoprovider/barbican/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Example implementation of the OpenYOLO SPI. 17 | */ 18 | package org.openyolo.demoprovider.barbican; 19 | -------------------------------------------------------------------------------- /spi/java/org/openyolo/spi/assetlinks/data/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Helper classes for deserializing Digital Asset Link statements. 17 | */ 18 | package org.openyolo.spi.assetlinks.data; 19 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/person.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 14 | -------------------------------------------------------------------------------- /spi/java/org/openyolo/spi/assetlinks/loader/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Helper classes for loading Digital Asset Link statements and checking relationships. 17 | */ 18 | package org.openyolo.spi.assetlinks.loader; 19 | -------------------------------------------------------------------------------- /spi/java/org/openyolo/spi/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Service provider interface, which credential managers should implement 17 | * to interact with apps that support OpenYOLO. 18 | */ 19 | package org.openyolo.spi; 20 | -------------------------------------------------------------------------------- /demoproviders/barbican/java/org/openyolo/demoprovider/barbican/storage/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Classes pertaining to the encrypted storage of credentials. 17 | */ 18 | package org.openyolo.demoprovider.barbican.storage; 19 | -------------------------------------------------------------------------------- /protocol/java/org/openyolo/protocol/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Data types and messages which are sent between the client and credential provider in the 17 | * OpenYOLO protocol. 18 | */ 19 | package org.openyolo.protocol; 20 | -------------------------------------------------------------------------------- /demoapps/passwordlogin/java/org/openyolo/demoapp/passwordlogin/userdata/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Classes and behavior related to users and user authentication. 17 | */ 18 | package org.openyolo.demoapp.passwordlogin.userdata; 19 | -------------------------------------------------------------------------------- /demoapps/passwordlogin/java/org/openyolo/demoapp/passwordlogin/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Demonstrates the usage of OpenYOLO to facilitate sign-in and sign-up using passwords. 17 | */ 18 | package org.openyolo.demoapp.passwordlogin; 19 | -------------------------------------------------------------------------------- /demoproviders/barbican/java/org/openyolo/demoprovider/barbican/provider/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Classes pertaining to the implementation of the provider end of the OpenYOLO protocol. 17 | */ 18 | package org.openyolo.demoprovider.barbican.provider; 19 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/wipe_associations.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | -------------------------------------------------------------------------------- /testapp/java/org/openyolo/testapp/TestPageFragment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | package org.openyolo.testapp; 16 | 17 | import android.support.v4.app.Fragment; 18 | 19 | abstract class TestPageFragment extends Fragment { 20 | 21 | public abstract String getPageTitle(); 22 | } 23 | -------------------------------------------------------------------------------- /bbq/java/com/google/bbq/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Data types and utility classes that are used internally by BBQ. _NOTE_: The contents of 17 | * this package are _not_ part of the public API, and may change at any time. 18 | */ 19 | package com.google.bbq.internal; 20 | -------------------------------------------------------------------------------- /protocol/java/org/openyolo/protocol/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Data types and utility classes that are used by the OpenYOLO libraries. _NOTE_: The contents of 17 | * this package are _not_ part of the public API, and may change at any time. 18 | */ 19 | package org.openyolo.protocol.internal; 20 | -------------------------------------------------------------------------------- /api/java/org/openyolo/api/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Collection of internal data types and utility classes that are used by the OpenYOLO libraries. 17 | * _NOTE_: The contents of this package are _not_ part of the public API, and may change at any 18 | * time. 19 | */ 20 | package org.openyolo.api.internal; 21 | -------------------------------------------------------------------------------- /api/java/org/openyolo/api/persistence/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Collection of classes and interfaces related to persisting state used by the OpenYOLO libraries. 17 | * _NOTE_: The contents of this package are _not_ part of the public API, and may change at any 18 | * time. 19 | */ 20 | package org.openyolo.api.persistence.internal; 21 | -------------------------------------------------------------------------------- /protocol/java/org/openyolo/protocol/internal/ValueConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | package org.openyolo.protocol.internal; 16 | 17 | /** 18 | * Simple abstraction that converts values of type T into values of type U. 19 | */ 20 | public interface ValueConverter { 21 | /** 22 | * Converts a single value. 23 | */ 24 | U convert(T value); 25 | } 26 | -------------------------------------------------------------------------------- /protocol/java/org/openyolo/protocol/internal/InternalConstants.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | package org.openyolo.protocol.internal; 16 | 17 | /** 18 | * Internal constants used throughout the library. 19 | */ 20 | public class InternalConstants { 21 | 22 | /** 23 | * A prime number for use in deriving hash codes. 24 | */ 25 | public static final int HASH_PRIME = 92821; 26 | } 27 | -------------------------------------------------------------------------------- /demoapps/passwordlogin/java/org/openyolo/demoapp/passwordlogin/MainNavigator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | package org.openyolo.demoapp.passwordlogin; 16 | 17 | /** 18 | * Hides the details of activity transitions from {@link MainViewModel}. 19 | */ 20 | public interface MainNavigator { 21 | 22 | /** 23 | * Transitions to the login activity. 24 | */ 25 | void goToLogin(); 26 | 27 | } 28 | -------------------------------------------------------------------------------- /api/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 21 | 22 | -------------------------------------------------------------------------------- /testapp/java/org/openyolo/testapp/GlideModule.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | package org.openyolo.testapp; 16 | 17 | import com.bumptech.glide.module.AppGlideModule; 18 | 19 | /** 20 | * Required definition for use of the Glide generated API. 21 | * @see "http://bumptech.github.io/glide/doc/generatedapi.html" 22 | */ 23 | @com.bumptech.glide.annotation.GlideModule 24 | public class GlideModule extends AppGlideModule {} 25 | -------------------------------------------------------------------------------- /config/coverage.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'jacoco' 2 | 3 | jacoco { 4 | toolVersion = "0.7.1.201405082137" 5 | } 6 | 7 | task jacocoTestReport(type: JacocoReport, dependsOn: "testDebugUnitTest") { 8 | group = "Reporting" 9 | description = "Generate Jacoco coverage reports after running tests." 10 | reports { 11 | xml.enabled = true 12 | html.enabled = true 13 | } 14 | 15 | def ignoredFilter = ['**/R.class', 16 | '**/R$*.class', 17 | '**/BuildConfig.*', 18 | '**/Manifest*.*', 19 | 'android/**/*.*', 20 | '**/Curve*.*', 21 | '**/proto/*'] 22 | 23 | // Class R is used, but usage will not be covered, so ignore this class from report 24 | classDirectories = fileTree( 25 | dir: 'build/intermediates/classes/debug', 26 | excludes: ignoredFilter 27 | ) 28 | sourceDirectories = files('java') 29 | executionData = files('build/jacoco/testDebugUnitTest.exec') 30 | } 31 | -------------------------------------------------------------------------------- /demoproviders/barbican/java/org/openyolo/demoprovider/barbican/GlideModule.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | package org.openyolo.demoprovider.barbican; 16 | 17 | import com.bumptech.glide.module.AppGlideModule; 18 | 19 | /** 20 | * Required definition for use of the Glide generated API. 21 | * @see "http://bumptech.github.io/glide/doc/generatedapi.html" 22 | */ 23 | @com.bumptech.glide.annotation.GlideModule 24 | public class GlideModule extends AppGlideModule {} 25 | -------------------------------------------------------------------------------- /testapp/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | 18 | 19 | 22 | 23 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /demoapps/passwordlogin/java/org/openyolo/demoapp/passwordlogin/GlideModule.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | package org.openyolo.demoapp.passwordlogin; 16 | 17 | import com.bumptech.glide.module.AppGlideModule; 18 | 19 | /** 20 | * Required definition for use of the Glide generated API. 21 | * @see "http://bumptech.github.io/glide/doc/generatedapi.html" 22 | */ 23 | @com.bumptech.glide.annotation.GlideModule 24 | public final class GlideModule extends AppGlideModule {} 25 | -------------------------------------------------------------------------------- /spi/javatests/java/org/openyolo/spi/ShadowQueryResponseSender.java: -------------------------------------------------------------------------------- 1 | package org.openyolo.spi; 2 | 3 | import static org.mockito.Mockito.mock; 4 | 5 | import android.support.annotation.NonNull; 6 | import android.support.annotation.Nullable; 7 | import com.google.bbq.Protobufs.BroadcastQuery; 8 | import com.google.bbq.QueryResponseSender; 9 | import org.robolectric.annotation.Implementation; 10 | import org.robolectric.annotation.Implements; 11 | 12 | /** 13 | * Shadow for {@link QueryResponseSender} 14 | */ 15 | @Implements(QueryResponseSender.class) 16 | public class ShadowQueryResponseSender { 17 | public ShadowQueryResponseSender() {} 18 | 19 | public static QueryResponseSender mockQueryResponseSender = mock(QueryResponseSender.class); 20 | 21 | public static void intializeForTest() { 22 | mockQueryResponseSender = mock(QueryResponseSender.class); 23 | } 24 | 25 | @Implementation 26 | public void sendResponse(@NonNull BroadcastQuery query, @Nullable byte[] responseMessage) { 27 | mockQueryResponseSender.sendResponse(query, responseMessage); 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /spi/java/org/openyolo/spi/assetlinks/data/AssetStatement.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | package org.openyolo.spi.assetlinks.data; 16 | 17 | import java.util.List; 18 | 19 | /** 20 | * Parent type for asset statements, either web or android. 21 | */ 22 | public interface AssetStatement { 23 | 24 | /** 25 | * Get the list of relations for the statement. 26 | * 27 | * @return List of relations. 28 | */ 29 | List getRelations(); 30 | } 31 | -------------------------------------------------------------------------------- /spi/javatests/java/org/openyolo/spi/assetlinks/data/WebTargetTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.openyolo.spi.assetlinks.data; 18 | 19 | import org.junit.Test; 20 | import org.valid4j.errors.RequireViolation; 21 | 22 | /** 23 | * Tests for {@link WebTarget} 24 | */ 25 | public class WebTargetTest { 26 | @Test (expected = RequireViolation.class) 27 | public void testNullSite() { 28 | new WebTarget.Builder() 29 | .build(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /demoapps/simplest/src/main/java/org/openyolo/demoapp/simplest/LoggedInActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2017 The OpenYOLO Authors. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 | * in compliance with the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the 10 | * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | * express or implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | package org.openyolo.demoapp.simplest; 15 | 16 | import android.support.v7.app.AppCompatActivity; 17 | import android.os.Bundle; 18 | 19 | public class LoggedInActivity extends AppCompatActivity { 20 | 21 | @Override 22 | protected void onCreate(Bundle savedInstanceState) { 23 | super.onCreate(savedInstanceState); 24 | setContentView(R.layout.activity_logged_in); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /config/javadoc.gradle: -------------------------------------------------------------------------------- 1 | configurations { 2 | mdDoclet 3 | } 4 | 5 | dependencies { 6 | mdDoclet 'org.jdrupes.mdoclet:doclet:1.0.3' 7 | } 8 | 9 | task androidJavadoc(type: Javadoc) { 10 | source = android.sourceSets.main.java.srcDirs 11 | title = "AppAuth for Android" 12 | classpath += files(project.android.getBootClasspath()) 13 | options { 14 | doclet "org.jdrupes.mdoclet.MDoclet" 15 | docletpath(*configurations.mdDoclet.files.asType(List)) 16 | links "http://docs.oracle.com/javase/7/docs/api/" 17 | linksOffline "http://d.android.com/reference","${android.sdkDirectory}/docs/reference" 18 | } 19 | exclude '**/BuildConfig.java' 20 | exclude '**/R.java' 21 | } 22 | 23 | task javadocJar(type: Jar, dependsOn:androidJavadoc) { 24 | classifier = 'javadoc' 25 | from androidJavadoc.destinationDir 26 | } 27 | 28 | afterEvaluate { 29 | // fixes issue where javadoc can't find android symbols ref: http://stackoverflow.com/a/34572606 30 | androidJavadoc.classpath += files(android.libraryVariants.collect { variant -> 31 | variant.javaCompile.classpath.files 32 | }) 33 | } 34 | -------------------------------------------------------------------------------- /demoproviders/barbican/res/drawable/phone.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 14 | -------------------------------------------------------------------------------- /demoapps/simplest/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 15 | 16 |