diff --git a/app/BUILD.bazel b/app/BUILD.bazel index 4030f93b7d2..4019ad3cd6c 100644 --- a/app/BUILD.bazel +++ b/app/BUILD.bazel @@ -1022,6 +1022,9 @@ android_library( name = "firestore_deps", exports = [ "//third_party:com_google_auto_value_auto-value-annotations", + "//third_party:com_google_firebase_firebase-appcheck", + "//third_party:com_google_firebase_firebase-appcheck-debug", + "//third_party:com_google_firebase_firebase-appcheck-playintegrity", "//third_party:org_checkerframework_checker-qual", ], ) diff --git a/app/build.gradle b/app/build.gradle index 95a33a7e7e0..3090289b14a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -169,6 +169,9 @@ dependencies { 'com.google.dagger:dagger:2.24', 'com.google.firebase:firebase-analytics:17.5.0', 'com.google.firebase:firebase-analytics-ktx:17.5.0', + 'com.google.firebase:firebase-appcheck:16.0.0', + 'com.google.firebase:firebase-appcheck-debug:16.0.0', + 'com.google.firebase:firebase-appcheck-playintegrity:16.0.0', 'com.google.firebase:firebase-core:17.5.0', 'com.google.firebase:firebase-crashlytics:17.0.0', 'com.google.firebase:firebase-firestore-ktx:24.2.1', diff --git a/app/src/main/java/org/oppia/android/app/application/AbstractOppiaApplication.kt b/app/src/main/java/org/oppia/android/app/application/AbstractOppiaApplication.kt index 7581fc75bf5..11a3025ff14 100644 --- a/app/src/main/java/org/oppia/android/app/application/AbstractOppiaApplication.kt +++ b/app/src/main/java/org/oppia/android/app/application/AbstractOppiaApplication.kt @@ -9,8 +9,12 @@ import androidx.multidex.MultiDexApplication import androidx.work.Configuration import androidx.work.WorkManager import com.google.firebase.FirebaseApp +import com.google.firebase.appcheck.FirebaseAppCheck +import com.google.firebase.appcheck.debug.DebugAppCheckProviderFactory +import com.google.firebase.appcheck.playintegrity.PlayIntegrityAppCheckProviderFactory import org.oppia.android.app.activity.ActivityComponent import org.oppia.android.app.activity.ActivityComponentFactory +import org.oppia.android.app.model.BuildFlavor import org.oppia.android.domain.oppialogger.ApplicationStartupListener /** The root base [Application] of the Oppia app. */ @@ -47,6 +51,20 @@ abstract class AbstractOppiaApplication( // TODO(#4751): Re-enable WorkManager for S+. if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) { FirebaseApp.initializeApp(applicationContext) + // FirebaseAppCheck protects our API resources from abuse. It works with Firebase services, + // Google Cloud services, and can also be implemented for our own APIs. + // See https://firebase.google.com/docs/app-check for currently supported Firebase products. + // Note that as of this code being checked in, only the app's Firestore usage is affected by + // App Check (Analytics is NOT affected). + if (component.getCurrentBuildFlavor() == BuildFlavor.DEVELOPER) { + FirebaseAppCheck.getInstance().installAppCheckProviderFactory( + DebugAppCheckProviderFactory.getInstance(), + ) + } else { + FirebaseAppCheck.getInstance().installAppCheckProviderFactory( + PlayIntegrityAppCheckProviderFactory.getInstance(), + ) + } WorkManager.initialize(applicationContext, workManagerConfiguration) val workManager = WorkManager.getInstance(applicationContext) component.getAnalyticsStartupListenerStartupListeners().forEach { it.onCreate(workManager) } diff --git a/app/src/main/java/org/oppia/android/app/application/ApplicationComponent.kt b/app/src/main/java/org/oppia/android/app/application/ApplicationComponent.kt index 4b36869cda8..4fc1daefb7d 100644 --- a/app/src/main/java/org/oppia/android/app/application/ApplicationComponent.kt +++ b/app/src/main/java/org/oppia/android/app/application/ApplicationComponent.kt @@ -4,6 +4,7 @@ import android.app.Application import androidx.work.Configuration import dagger.BindsInstance import org.oppia.android.app.activity.ActivityComponentImpl +import org.oppia.android.app.model.BuildFlavor import org.oppia.android.domain.oppialogger.ApplicationStartupListener import org.oppia.android.domain.oppialogger.analytics.AnalyticsStartupListener import javax.inject.Provider @@ -30,4 +31,6 @@ interface ApplicationComponent : ApplicationInjector { fun getAnalyticsStartupListenerStartupListeners(): Set fun getWorkManagerConfiguration(): Configuration + + fun getCurrentBuildFlavor(): BuildFlavor } diff --git a/domain/BUILD.bazel b/domain/BUILD.bazel index d25ebd140d7..ebc2daa97ab 100755 --- a/domain/BUILD.bazel +++ b/domain/BUILD.bazel @@ -177,6 +177,7 @@ TEST_DEPS = [ ":interaction_object_test_builder", "//app:crashlytics", "//app:crashlytics_deps", + "//app:firestore_deps", "//app/src/main/java/org/oppia/android/app/application/testing:testing_build_flavor_module", "//config/src/java/org/oppia/android/config:all_languages_config", "//data/src/main/java/org/oppia/android/data/backends/gae:network_config_prod_module", diff --git a/domain/src/main/java/org/oppia/android/domain/auth/AuthenticationController.kt b/domain/src/main/java/org/oppia/android/domain/auth/AuthenticationController.kt index 72410c5f597..fadb7c46797 100644 --- a/domain/src/main/java/org/oppia/android/domain/auth/AuthenticationController.kt +++ b/domain/src/main/java/org/oppia/android/domain/auth/AuthenticationController.kt @@ -35,7 +35,7 @@ class AuthenticationController @Inject constructor( } } catch (e: TimeoutCancellationException) { deferredResult.complete( - AsyncResult.Failure(IllegalStateException(e)) + AsyncResult.Failure(e) ) } } @@ -44,6 +44,6 @@ class AuthenticationController @Inject constructor( companion object { /** The amount of time the authentication task should run before timing out. */ - const val AUTHENTICATION_TIMEOUT_MILLIS = 30_000L + private const val AUTHENTICATION_TIMEOUT_MILLIS = 30_000L } } diff --git a/scripts/assets/maven_dependencies.textproto b/scripts/assets/maven_dependencies.textproto index 7305bccdd78..841c9c94fa0 100644 --- a/scripts/assets/maven_dependencies.textproto +++ b/scripts/assets/maven_dependencies.textproto @@ -600,6 +600,39 @@ maven_dependency { } } } +maven_dependency { + artifact_name: "com.google.firebase:firebase-appcheck-debug:16.0.0" + artifact_version: "16.0.0" + license { + license_name: "The Apache Software License, Version 2.0" + original_link: "https://www.apache.org/licenses/LICENSE-2.0.txt" + scrapable_link { + url: "https://www.apache.org/licenses/LICENSE-2.0.txt" + } + } +} +maven_dependency { + artifact_name: "com.google.firebase:firebase-appcheck-playintegrity:16.0.0" + artifact_version: "16.0.0" + license { + license_name: "The Apache Software License, Version 2.0" + original_link: "https://www.apache.org/licenses/LICENSE-2.0.txt" + scrapable_link { + url: "https://www.apache.org/licenses/LICENSE-2.0.txt" + } + } +} +maven_dependency { + artifact_name: "com.google.firebase:firebase-appcheck:16.0.0" + artifact_version: "16.0.0" + license { + license_name: "The Apache Software License, Version 2.0" + original_link: "https://www.apache.org/licenses/LICENSE-2.0.txt" + scrapable_link { + url: "https://www.apache.org/licenses/LICENSE-2.0.txt" + } + } +} maven_dependency { artifact_name: "com.google.firebase:firebase-auth-ktx:19.3.1" artifact_version: "19.3.1" diff --git a/testing/src/test/java/org/oppia/android/testing/firebase/FakeFirebaseAuthWrapperImplTest.kt b/testing/src/test/java/org/oppia/android/testing/firebase/FakeFirebaseAuthWrapperImplTest.kt index d26d56c8480..fff494e2ec3 100644 --- a/testing/src/test/java/org/oppia/android/testing/firebase/FakeFirebaseAuthWrapperImplTest.kt +++ b/testing/src/test/java/org/oppia/android/testing/firebase/FakeFirebaseAuthWrapperImplTest.kt @@ -60,16 +60,17 @@ class FakeFirebaseAuthWrapperImplTest { @Test fun testFakeAuthWrapper_simulateSignInSuccess_returnsFakeAuthStateSuccess() { fakeFirebaseAuthWrapperImpl.simulateSignInSuccess() - val authState = fakeFirebaseAuthWrapperImpl.getAuthState() - assertThat(authState).isInstanceOf(FakeAuthState.SUCCESS::class.java) + + assertThat(authState).isEqualTo(FakeAuthState.SUCCESS) } @Test fun testFakeAuthWrapper_simulateSignInFailure_returnsFakeAuthStateFailure() { fakeFirebaseAuthWrapperImpl.simulateSignInFailure() val authState = fakeFirebaseAuthWrapperImpl.getAuthState() - assertThat(authState).isInstanceOf(FakeAuthState.FAILURE::class.java) + + assertThat(authState).isEqualTo(FakeAuthState.FAILURE) } private fun setUpTestApplicationComponent() { diff --git a/third_party/maven_install.json b/third_party/maven_install.json index 24221d97d55..f154369ddb7 100644 --- a/third_party/maven_install.json +++ b/third_party/maven_install.json @@ -1,8 +1,8 @@ { "dependency_tree": { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": -1629412368, - "__RESOLVED_ARTIFACTS_HASH": 1784154617, + "__INPUT_ARTIFACTS_HASH": 577686317, + "__RESOLVED_ARTIFACTS_HASH": 445130734, "conflict_resolution": { "androidx.constraintlayout:constraintlayout:1.1.3": "androidx.constraintlayout:constraintlayout:2.0.1", "androidx.core:core:1.0.1": "androidx.core:core:1.3.1", @@ -5421,6 +5421,27 @@ "sha256": "1d9fe3a4512512a311889be798e4a0f9cf9fbccddea50a7ca330b1b99ee92993", "url": "https://maven.google.com/com/google/android/material/material/1.3.0/material-1.3.0-sources.jar" }, + { + "coord": "com.google.android.play:integrity:aar:1.0.1", + "dependencies": [ + "com.google.android.gms:play-services-tasks:aar:18.0.1", + "com.google.android.gms:play-services-basement:aar:18.0.0" + ], + "directDependencies": [ + "com.google.android.gms:play-services-basement:aar:18.0.0", + "com.google.android.gms:play-services-tasks:aar:18.0.1" + ], + "file": "v1/https/maven.google.com/com/google/android/play/integrity/1.0.1/integrity-1.0.1.aar", + "mirror_urls": [ + "https://maven.google.com/com/google/android/play/integrity/1.0.1/integrity-1.0.1.aar", + "https://repo1.maven.org/maven2/com/google/android/play/integrity/1.0.1/integrity-1.0.1.aar", + "https://maven.fabric.io/public/com/google/android/play/integrity/1.0.1/integrity-1.0.1.aar", + "https://maven.google.com/com/google/android/play/integrity/1.0.1/integrity-1.0.1.aar", + "https://repo1.maven.org/maven2/com/google/android/play/integrity/1.0.1/integrity-1.0.1.aar" + ], + "sha256": "c44e46f3fa25c89840e5edcd76e203d61bba2bb7c2eae485856fbcc7d6fa411b", + "url": "https://maven.google.com/com/google/android/play/integrity/1.0.1/integrity-1.0.1.aar" + }, { "coord": "com.google.android:annotations:4.1.1.4", "dependencies": [], @@ -5956,6 +5977,74 @@ "sha256": "8fd2e91c651391d9c2196eedc784f3ce39bde37dc4b6c8e41055de0656bbb2c9", "url": "https://maven.google.com/com/google/firebase/firebase-annotations/16.1.0/firebase-annotations-16.1.0-sources.jar" }, + { + "coord": "com.google.firebase:firebase-appcheck-debug:16.0.0", + "dependencies": [ + "com.google.firebase:firebase-components:aar:17.0.0", + "com.google.firebase:firebase-appcheck:aar:16.0.0", + "androidx.collection:collection:jar:1.1.0", + "androidx.fragment:fragment:aar:1.2.0", + "com.google.android.gms:play-services-basement:aar:18.0.0", + "androidx.core:core:aar:1.3.1", + "com.google.firebase:firebase-appcheck-interop:aar:16.0.0", + "com.google.android.gms:play-services-base:aar:18.0.1", + "androidx.annotation:annotation:jar:1.1.0", + "com.google.firebase:firebase-common:aar:20.1.1", + "com.google.android.gms:play-services-tasks:aar:18.0.1", + "com.google.firebase:firebase-annotations:jar:16.1.0" + ], + "directDependencies": [ + "com.google.firebase:firebase-components:aar:17.0.0", + "com.google.firebase:firebase-appcheck:aar:16.0.0", + "com.google.android.gms:play-services-base:aar:18.0.1", + "com.google.firebase:firebase-common:aar:20.1.1", + "com.google.android.gms:play-services-tasks:aar:18.0.1" + ], + "file": "v1/https/maven.google.com/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0.aar", + "mirror_urls": [ + "https://maven.google.com/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0.aar", + "https://repo1.maven.org/maven2/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0.aar", + "https://maven.fabric.io/public/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0.aar", + "https://maven.google.com/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0.aar", + "https://repo1.maven.org/maven2/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0.aar" + ], + "sha256": "544cff5ae13c1d2edcb2478c1d4ebb703d2d1a616f4e0bf261721aefc108ab4c", + "url": "https://maven.google.com/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0.aar" + }, + { + "coord": "com.google.firebase:firebase-appcheck-debug:jar:sources:16.0.0", + "dependencies": [ + "com.google.firebase:firebase-common:aar:sources:20.1.1", + "com.google.firebase:firebase-annotations:jar:sources:16.1.0", + "androidx.core:core:aar:sources:1.3.1", + "androidx.fragment:fragment:aar:sources:1.2.0", + "com.google.firebase:firebase-components:aar:sources:17.0.0", + "androidx.collection:collection:jar:sources:1.1.0", + "androidx.annotation:annotation:jar:sources:1.1.0", + "com.google.firebase:firebase-appcheck:aar:sources:16.0.0", + "com.google.android.gms:play-services-tasks:aar:sources:18.0.1", + "com.google.firebase:firebase-appcheck-interop:aar:sources:16.0.0", + "com.google.android.gms:play-services-base:aar:sources:18.0.1", + "com.google.android.gms:play-services-basement:aar:sources:18.0.0" + ], + "directDependencies": [ + "com.google.firebase:firebase-common:aar:sources:20.1.1", + "com.google.firebase:firebase-components:aar:sources:17.0.0", + "com.google.firebase:firebase-appcheck:aar:sources:16.0.0", + "com.google.android.gms:play-services-tasks:aar:sources:18.0.1", + "com.google.android.gms:play-services-base:aar:sources:18.0.1" + ], + "file": "v1/https/maven.google.com/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0-sources.jar", + "mirror_urls": [ + "https://maven.google.com/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0-sources.jar", + "https://repo1.maven.org/maven2/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0-sources.jar", + "https://maven.fabric.io/public/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0-sources.jar", + "https://maven.google.com/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0-sources.jar", + "https://repo1.maven.org/maven2/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0-sources.jar" + ], + "sha256": "6d4d930dffab550d7f940837c33de14eb891cb22a22fb4aec4480a8fda8156f2", + "url": "https://maven.google.com/com/google/firebase/firebase-appcheck-debug/16.0.0/firebase-appcheck-debug-16.0.0-sources.jar" + }, { "coord": "com.google.firebase:firebase-appcheck-interop:aar:16.0.0", "dependencies": [ @@ -6018,6 +6107,144 @@ "sha256": "401532d113dcbbafa32132da0d1afb6713726791bb15dc3e311455b4de0b35e6", "url": "https://maven.google.com/com/google/firebase/firebase-appcheck-interop/16.0.0/firebase-appcheck-interop-16.0.0-sources.jar" }, + { + "coord": "com.google.firebase:firebase-appcheck-playintegrity:16.0.0", + "dependencies": [ + "com.google.firebase:firebase-components:aar:17.0.0", + "com.google.firebase:firebase-appcheck:aar:16.0.0", + "androidx.collection:collection:jar:1.1.0", + "androidx.fragment:fragment:aar:1.2.0", + "com.google.android.gms:play-services-basement:aar:18.0.0", + "androidx.core:core:aar:1.3.1", + "com.google.firebase:firebase-appcheck-interop:aar:16.0.0", + "com.google.android.gms:play-services-base:aar:18.0.1", + "androidx.annotation:annotation:jar:1.1.0", + "com.google.firebase:firebase-common:aar:20.1.1", + "com.google.android.gms:play-services-tasks:aar:18.0.1", + "com.google.firebase:firebase-annotations:jar:16.1.0", + "com.google.android.play:integrity:aar:1.0.1" + ], + "directDependencies": [ + "com.google.firebase:firebase-components:aar:17.0.0", + "com.google.firebase:firebase-appcheck:aar:16.0.0", + "com.google.android.gms:play-services-base:aar:18.0.1", + "com.google.firebase:firebase-common:aar:20.1.1", + "com.google.android.gms:play-services-tasks:aar:18.0.1", + "com.google.android.play:integrity:aar:1.0.1" + ], + "file": "v1/https/maven.google.com/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0.aar", + "mirror_urls": [ + "https://maven.google.com/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0.aar", + "https://repo1.maven.org/maven2/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0.aar", + "https://maven.fabric.io/public/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0.aar", + "https://maven.google.com/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0.aar", + "https://repo1.maven.org/maven2/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0.aar" + ], + "sha256": "de9ca1700814a52272ad157654f1224c6b05da9c3da15121c4da23a5eca1ebda", + "url": "https://maven.google.com/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0.aar" + }, + { + "coord": "com.google.firebase:firebase-appcheck-playintegrity:jar:sources:16.0.0", + "dependencies": [ + "com.google.firebase:firebase-common:aar:sources:20.1.1", + "com.google.firebase:firebase-annotations:jar:sources:16.1.0", + "androidx.core:core:aar:sources:1.3.1", + "androidx.fragment:fragment:aar:sources:1.2.0", + "com.google.firebase:firebase-components:aar:sources:17.0.0", + "com.google.android.play:integrity:aar:sources:1.0.1", + "androidx.collection:collection:jar:sources:1.1.0", + "androidx.annotation:annotation:jar:sources:1.1.0", + "com.google.firebase:firebase-appcheck:aar:sources:16.0.0", + "com.google.android.gms:play-services-tasks:aar:sources:18.0.1", + "com.google.firebase:firebase-appcheck-interop:aar:sources:16.0.0", + "com.google.android.gms:play-services-base:aar:sources:18.0.1", + "com.google.android.gms:play-services-basement:aar:sources:18.0.0" + ], + "directDependencies": [ + "com.google.firebase:firebase-common:aar:sources:20.1.1", + "com.google.firebase:firebase-components:aar:sources:17.0.0", + "com.google.android.play:integrity:aar:sources:1.0.1", + "com.google.firebase:firebase-appcheck:aar:sources:16.0.0", + "com.google.android.gms:play-services-tasks:aar:sources:18.0.1", + "com.google.android.gms:play-services-base:aar:sources:18.0.1" + ], + "file": "v1/https/maven.google.com/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0-sources.jar", + "mirror_urls": [ + "https://maven.google.com/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0-sources.jar", + "https://repo1.maven.org/maven2/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0-sources.jar", + "https://maven.fabric.io/public/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0-sources.jar", + "https://maven.google.com/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0-sources.jar", + "https://repo1.maven.org/maven2/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0-sources.jar" + ], + "sha256": "1bab390147068a9e0f10becdffddd2b1b46f3456b9024e567e7e448679b08b18", + "url": "https://maven.google.com/com/google/firebase/firebase-appcheck-playintegrity/16.0.0/firebase-appcheck-playintegrity-16.0.0-sources.jar" + }, + { + "coord": "com.google.firebase:firebase-appcheck:16.0.0", + "dependencies": [ + "com.google.firebase:firebase-components:aar:17.0.0", + "androidx.collection:collection:jar:1.1.0", + "androidx.fragment:fragment:aar:1.2.0", + "com.google.android.gms:play-services-basement:aar:18.0.0", + "androidx.core:core:aar:1.3.1", + "com.google.firebase:firebase-appcheck-interop:aar:16.0.0", + "com.google.android.gms:play-services-base:aar:18.0.1", + "androidx.annotation:annotation:jar:1.1.0", + "com.google.firebase:firebase-common:aar:20.1.1", + "com.google.android.gms:play-services-tasks:aar:18.0.1", + "com.google.firebase:firebase-annotations:jar:16.1.0" + ], + "directDependencies": [ + "com.google.firebase:firebase-components:aar:17.0.0", + "com.google.firebase:firebase-appcheck-interop:aar:16.0.0", + "com.google.android.gms:play-services-base:aar:18.0.1", + "com.google.firebase:firebase-common:aar:20.1.1", + "com.google.android.gms:play-services-tasks:aar:18.0.1" + ], + "file": "v1/https/maven.google.com/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0.aar", + "mirror_urls": [ + "https://maven.google.com/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0.aar", + "https://repo1.maven.org/maven2/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0.aar", + "https://maven.fabric.io/public/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0.aar", + "https://maven.google.com/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0.aar", + "https://repo1.maven.org/maven2/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0.aar" + ], + "sha256": "f6f093086af3af54797cc8f4070aad5b1e8fbb3e16ccbcfd0f02e7dd3e3c9448", + "url": "https://maven.google.com/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0.aar" + }, + { + "coord": "com.google.firebase:firebase-appcheck:aar:sources:16.0.0", + "dependencies": [ + "com.google.firebase:firebase-common:aar:sources:20.1.1", + "com.google.firebase:firebase-annotations:jar:sources:16.1.0", + "androidx.core:core:aar:sources:1.3.1", + "androidx.fragment:fragment:aar:sources:1.2.0", + "com.google.firebase:firebase-components:aar:sources:17.0.0", + "androidx.collection:collection:jar:sources:1.1.0", + "androidx.annotation:annotation:jar:sources:1.1.0", + "com.google.android.gms:play-services-tasks:aar:sources:18.0.1", + "com.google.firebase:firebase-appcheck-interop:aar:sources:16.0.0", + "com.google.android.gms:play-services-base:aar:sources:18.0.1", + "com.google.android.gms:play-services-basement:aar:sources:18.0.0" + ], + "directDependencies": [ + "com.google.firebase:firebase-common:aar:sources:20.1.1", + "com.google.firebase:firebase-components:aar:sources:17.0.0", + "com.google.android.gms:play-services-tasks:aar:sources:18.0.1", + "com.google.firebase:firebase-appcheck-interop:aar:sources:16.0.0", + "com.google.android.gms:play-services-base:aar:sources:18.0.1" + ], + "file": "v1/https/maven.google.com/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0-sources.jar", + "mirror_urls": [ + "https://maven.google.com/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0-sources.jar", + "https://repo1.maven.org/maven2/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0-sources.jar", + "https://maven.fabric.io/public/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0-sources.jar", + "https://maven.google.com/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0-sources.jar", + "https://repo1.maven.org/maven2/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0-sources.jar" + ], + "sha256": "d6b6b35d7c6fd5c4bbb912b62175e285cba8b9e3280ccd6b4bfd3e14d5c3782c", + "url": "https://maven.google.com/com/google/firebase/firebase-appcheck/16.0.0/firebase-appcheck-16.0.0-sources.jar" + }, { "coord": "com.google.firebase:firebase-auth-interop:aar:19.0.2", "dependencies": [ @@ -6735,10 +6962,6 @@ { "coord": "com.google.firebase:firebase-installations-interop:aar:16.0.0", "dependencies": [ - "androidx.collection:collection:jar:1.1.0", - "androidx.fragment:fragment:aar:1.2.0", - "com.google.android.gms:play-services-basement:aar:18.0.0", - "androidx.core:core:aar:1.3.1", "com.google.android.gms:play-services-tasks:aar:18.0.1" ], "directDependencies": [ @@ -11285,6 +11508,18 @@ ], "file": null }, + { + "coord": "com.google.android.play:integrity:aar:sources:1.0.1", + "dependencies": [ + "com.google.android.gms:play-services-tasks:aar:sources:18.0.1", + "com.google.android.gms:play-services-basement:aar:sources:18.0.0" + ], + "directDependencies": [ + "com.google.android.gms:play-services-basement:aar:sources:18.0.0", + "com.google.android.gms:play-services-tasks:aar:sources:18.0.1" + ], + "file": null + }, { "coord": "com.google.firebase:firebase-analytics:jar:sources:17.5.0", "dependencies": [ @@ -11528,11 +11763,7 @@ { "coord": "com.google.firebase:firebase-installations-interop:aar:sources:16.0.0", "dependencies": [ - "androidx.core:core:aar:sources:1.3.1", - "androidx.fragment:fragment:aar:sources:1.2.0", - "androidx.collection:collection:jar:sources:1.1.0", - "com.google.android.gms:play-services-tasks:aar:sources:18.0.1", - "com.google.android.gms:play-services-basement:aar:sources:18.0.0" + "com.google.android.gms:play-services-tasks:aar:sources:18.0.1" ], "directDependencies": [ "com.google.android.gms:play-services-tasks:aar:sources:18.0.1" diff --git a/third_party/versions.bzl b/third_party/versions.bzl index 24195afce9e..f62c87f8f15 100644 --- a/third_party/versions.bzl +++ b/third_party/versions.bzl @@ -56,6 +56,9 @@ MAVEN_PRODUCTION_DEPENDENCY_VERSIONS = { "com.google.android.material:material": "1.3.0", "com.google.auto.value:auto-value-annotations": "1.8.1", "com.google.firebase:firebase-analytics": "17.5.0", + "com.google.firebase:firebase-appcheck": "16.0.0", + "com.google.firebase:firebase-appcheck-debug": "16.0.0", + "com.google.firebase:firebase-appcheck-playintegrity": "16.0.0", "com.google.firebase:firebase-auth-ktx": "19.3.1", "com.google.firebase:firebase-common": "19.3.0", "com.google.firebase:firebase-crashlytics": "17.1.1",