diff --git a/src/com/android/settings/password/BiometricFragment.java b/src/com/android/settings/password/BiometricFragment.java index a7a039e8485..5030b6a3678 100644 --- a/src/com/android/settings/password/BiometricFragment.java +++ b/src/com/android/settings/password/BiometricFragment.java @@ -19,7 +19,6 @@ package com.android.settings.password; import static android.hardware.biometrics.BiometricConstants.BIOMETRIC_ERROR_USER_CANCELED; import android.app.settings.SettingsEnums; -import android.content.ComponentName; import android.hardware.biometrics.BiometricManager; import android.hardware.biometrics.BiometricPrompt; import android.hardware.biometrics.BiometricPrompt.AuthenticationCallback; @@ -44,7 +43,6 @@ 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; @@ -94,13 +92,10 @@ public class BiometricFragment extends InstrumentedFragment { * @param promptInfo * @return */ - public static BiometricFragment newInstance(PromptInfo promptInfo, - ComponentName callingActivity) { + public static BiometricFragment newInstance(PromptInfo promptInfo) { 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; } @@ -135,8 +130,6 @@ 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()) .setUseDefaultTitle() // use default title if title is null/empty @@ -152,7 +145,8 @@ public class BiometricFragment extends InstrumentedFragment { promptInfo.isDisallowBiometricsIfPolicyExists()) .setShowEmergencyCallButton(promptInfo.isShowEmergencyCallButton()) .setReceiveSystemEvents(true) - .setComponentNameForConfirmDeviceCredentialActivity(callingActivity); + .setRealCallerForConfirmDeviceCredentialActivity( + promptInfo.getRealCallerForConfirmDeviceCredentialActivity()); if (promptInfo.getLogoRes() != 0){ promptBuilder.setLogoRes(promptInfo.getLogoRes()); } diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java index 72dbed457be..d7d1531c0d8 100644 --- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java +++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java @@ -238,6 +238,7 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { promptInfo.setDisallowBiometricsIfPolicyExists(mCheckDevicePolicyManager); promptInfo.setAuthenticators(mBiometricsAuthenticators); promptInfo.setNegativeButtonText(negativeButtonText); + promptInfo.setRealCallerForConfirmDeviceCredentialActivity(getCallingActivity()); if (android.multiuser.Flags.enablePrivateSpaceFeatures() && android.multiuser.Flags.usePrivateSpaceIconInBiometricPrompt() @@ -503,8 +504,7 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { boolean newFragment = false; if (mBiometricFragment == null) { - mBiometricFragment = BiometricFragment.newInstance(promptInfo, - getCallingActivity()); + mBiometricFragment = BiometricFragment.newInstance(promptInfo); newFragment = true; } mBiometricFragment.setCallbacks(mExecutor, mAuthenticationCallback);