From 3b9c3cf5306bb799cebba1f69d04ac9ddfeca687 Mon Sep 17 00:00:00 2001 From: Hao Dong Date: Wed, 8 May 2024 06:52:17 +0000 Subject: [PATCH] Override package name for logo in ConfirmDeviceCredentialActivity. Test: TODO Flag: ACONFIG android.hardware.biometrics.custom_biometric_prompt NEXTFOOD Bug: 337082634 Change-Id: If0c4851c8c0cb0fae01e9f30d6a6486f2ab2c71f --- .../android/settings/password/BiometricFragment.java | 11 +++++++++-- .../password/ConfirmDeviceCredentialActivity.java | 3 ++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/password/BiometricFragment.java b/src/com/android/settings/password/BiometricFragment.java index 2e4a317cbaf..aeef4824f28 100644 --- a/src/com/android/settings/password/BiometricFragment.java +++ b/src/com/android/settings/password/BiometricFragment.java @@ -17,6 +17,7 @@ package com.android.settings.password; import android.app.settings.SettingsEnums; +import android.content.ComponentName; import android.hardware.biometrics.BiometricPrompt; import android.hardware.biometrics.BiometricPrompt.AuthenticationCallback; import android.hardware.biometrics.BiometricPrompt.AuthenticationResult; @@ -39,6 +40,7 @@ public class BiometricFragment extends InstrumentedFragment { private static final String TAG = "ConfirmDeviceCredential/BiometricFragment"; private static final String KEY_PROMPT_INFO = "prompt_info"; + private static final String KEY_CALLING_ACTIVITY = "calling_activity"; // Re-set by the application. Should be done upon orientation changes, etc private Executor mClientExecutor; @@ -88,10 +90,13 @@ public class BiometricFragment extends InstrumentedFragment { * @param promptInfo * @return */ - public static BiometricFragment newInstance(PromptInfo promptInfo) { + public static BiometricFragment newInstance(PromptInfo promptInfo, + ComponentName callingActivity) { BiometricFragment biometricFragment = new BiometricFragment(); final Bundle bundle = new Bundle(); bundle.putParcelable(KEY_PROMPT_INFO, promptInfo); + + bundle.putParcelable(KEY_CALLING_ACTIVITY, callingActivity); biometricFragment.setArguments(bundle); return biometricFragment; } @@ -126,6 +131,7 @@ public class BiometricFragment extends InstrumentedFragment { final Bundle bundle = getArguments(); final PromptInfo promptInfo = bundle.getParcelable(KEY_PROMPT_INFO); + final ComponentName callingActivity = bundle.getParcelable(KEY_CALLING_ACTIVITY); BiometricPrompt.Builder promptBuilder = new BiometricPrompt.Builder(getContext()) .setTitle(promptInfo.getTitle()) @@ -141,7 +147,8 @@ public class BiometricFragment extends InstrumentedFragment { .setDisallowBiometricsIfPolicyExists( promptInfo.isDisallowBiometricsIfPolicyExists()) .setShowEmergencyCallButton(promptInfo.isShowEmergencyCallButton()) - .setReceiveSystemEvents(true); + .setReceiveSystemEvents(true) + .setComponentNameForConfirmDeviceCredentialActivity(callingActivity); if (android.os.Flags.allowPrivateProfile() && Flags.enablePrivateSpaceFeatures() && Flags.enableBiometricsToUnlockPrivateSpace()) { diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java index 6a30ee7b72e..dc9c2ec98b8 100644 --- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java +++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java @@ -437,7 +437,8 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { boolean newFragment = false; if (mBiometricFragment == null) { - mBiometricFragment = BiometricFragment.newInstance(promptInfo); + mBiometricFragment = BiometricFragment.newInstance(promptInfo, + getCallingActivity()); newFragment = true; } mBiometricFragment.setCallbacks(mExecutor, mAuthenticationCallback);