diff --git a/packages/firebase_app_check/firebase_app_check/android/build.gradle b/packages/firebase_app_check/firebase_app_check/android/build.gradle index 98facf9f332c..b5964bbaf135 100644 --- a/packages/firebase_app_check/firebase_app_check/android/build.gradle +++ b/packages/firebase_app_check/firebase_app_check/android/build.gradle @@ -45,6 +45,7 @@ android { defaultConfig { minSdk 21 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + buildConfigField "String", "FIREBASE_APP_CHECK_DEBUG_TOKEN", "\"${System.env.FIREBASE_APP_CHECK_DEBUG_TOKEN}\"" } compileOptions { diff --git a/packages/firebase_app_check/firebase_app_check/android/src/main/java/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.java b/packages/firebase_app_check/firebase_app_check/android/src/main/java/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.java index 69aaee5288c5..58887ad9ff48 100644 --- a/packages/firebase_app_check/firebase_app_check/android/src/main/java/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.java +++ b/packages/firebase_app_check/firebase_app_check/android/src/main/java/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.java @@ -5,17 +5,32 @@ package io.flutter.plugins.firebase.appcheck; import androidx.annotation.Keep; + +import com.google.firebase.appcheck.debug.InternalDebugSecretProvider; import com.google.firebase.components.Component; import com.google.firebase.components.ComponentRegistrar; import com.google.firebase.platforminfo.LibraryVersionComponent; + +import java.util.Arrays; import java.util.Collections; import java.util.List; @Keep public class FlutterFirebaseAppRegistrar implements ComponentRegistrar { + private static final String DEBUG_SECRET_NAME = "fire-app-check-debug-secret"; + @Override public List> getComponents() { - return Collections.>singletonList( - LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION)); + Component library = LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, + BuildConfig.LIBRARY_VERSION); + + if (BuildConfig.FIREBASE_APP_CHECK_DEBUG_TOKEN == null) + return Collections.>singletonList(library); + + Component debugSecretProvider = Component.builder(InternalDebugSecretProvider.class) + .name(DEBUG_SECRET_NAME) + .factory(container -> () -> BuildConfig.FIREBASE_APP_CHECK_DEBUG_TOKEN).build(); + + return Arrays.>asList(library, debugSecretProvider); } }