From 6fc0375d3e03065d347e05eb4c15f46780c57d1a Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Wed, 3 Sep 2025 22:58:40 +0100 Subject: [PATCH 1/2] Add debug app check --- core/network/build.gradle.kts | 1 + .../startup/FirebaseAppCheckInitializer.kt | 14 +++++++++++--- gradle/libs.versions.toml | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/core/network/build.gradle.kts b/core/network/build.gradle.kts index da684c2d..0738a116 100644 --- a/core/network/build.gradle.kts +++ b/core/network/build.gradle.kts @@ -82,6 +82,7 @@ dependencies { implementation(libs.mlkit.segmentation) implementation(libs.mlkit.common) implementation(libs.play.services.base) + implementation(libs.google.firebase.appcheck.debug) ksp(libs.hilt.compiler) testImplementation(libs.play.services.base.testing) diff --git a/core/network/src/main/java/com/android/developers/androidify/startup/FirebaseAppCheckInitializer.kt b/core/network/src/main/java/com/android/developers/androidify/startup/FirebaseAppCheckInitializer.kt index 1080d715..cb933214 100644 --- a/core/network/src/main/java/com/android/developers/androidify/startup/FirebaseAppCheckInitializer.kt +++ b/core/network/src/main/java/com/android/developers/androidify/startup/FirebaseAppCheckInitializer.kt @@ -18,9 +18,11 @@ package com.android.developers.androidify.startup import android.annotation.SuppressLint import android.content.Context import androidx.startup.Initializer +import com.android.developers.androidify.network.BuildConfig import com.google.firebase.Firebase import com.google.firebase.appcheck.FirebaseAppCheck import com.google.firebase.appcheck.appCheck +import com.google.firebase.appcheck.debug.DebugAppCheckProviderFactory import com.google.firebase.appcheck.playintegrity.PlayIntegrityAppCheckProviderFactory /** @@ -30,9 +32,15 @@ import com.google.firebase.appcheck.playintegrity.PlayIntegrityAppCheckProviderF class FirebaseAppCheckInitializer : Initializer { override fun create(context: Context): FirebaseAppCheck { return Firebase.appCheck.apply { - installAppCheckProviderFactory( - PlayIntegrityAppCheckProviderFactory.getInstance(), - ) + if (BuildConfig.DEBUG) { + installAppCheckProviderFactory( + DebugAppCheckProviderFactory.getInstance() + ) + } else { + installAppCheckProviderFactory( + PlayIntegrityAppCheckProviderFactory.getInstance(), + ) + } } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 86e07b22..214af35a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -143,6 +143,7 @@ google-oss-licenses = { group = "com.google.android.gms", name = "play-services- google-oss-licenses-plugin = { group = "com.google.android.gms", name = "oss-licenses-plugin", version.ref = "googleOssPlugin" } androidx-lifecycle-process = { group = "androidx.lifecycle", name = "lifecycle-process", version.ref = "lifecycleProcess" } play-services-base = { group = "com.google.android.gms", name = "play-services-base", version.ref = "playServicesBase" } +google-firebase-appcheck-debug = { group = "com.google.firebase", name = "firebase-appcheck-debug"} [plugins] android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } From d57ddc06886f79516aa3bf1aa3a42d0ee748f64c Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Wed, 3 Sep 2025 23:05:50 +0100 Subject: [PATCH 2/2] Add logs for play integrity conditional --- .../androidify/startup/FirebaseAppCheckInitializer.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/network/src/main/java/com/android/developers/androidify/startup/FirebaseAppCheckInitializer.kt b/core/network/src/main/java/com/android/developers/androidify/startup/FirebaseAppCheckInitializer.kt index cb933214..385b0a21 100644 --- a/core/network/src/main/java/com/android/developers/androidify/startup/FirebaseAppCheckInitializer.kt +++ b/core/network/src/main/java/com/android/developers/androidify/startup/FirebaseAppCheckInitializer.kt @@ -17,6 +17,7 @@ package com.android.developers.androidify.startup import android.annotation.SuppressLint import android.content.Context +import android.util.Log import androidx.startup.Initializer import com.android.developers.androidify.network.BuildConfig import com.google.firebase.Firebase @@ -33,10 +34,12 @@ class FirebaseAppCheckInitializer : Initializer { override fun create(context: Context): FirebaseAppCheck { return Firebase.appCheck.apply { if (BuildConfig.DEBUG) { + Log.i("AndroidifyAppCheck", "Firebase debug") installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance() ) } else { + Log.i("AndroidifyAppCheck", "Play integrity") installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance(), )