Set component name only for ConfirmDeviceCredentialActivity.
1. Rename setComponentNameForConfirmDeviceCredentialActivity() to
setRealCallerForConfirmDeviceCredentialActivity()
2. Move the call from BiometricFragment to
ConfirmDeviceCredentialActivity.
Flag: EXEMPT bugfix
Bug: 339532378
Test: manual test
Change-Id: I762f280def79d428ed9cf119ace5ccc2b6be2560
diff --git a/src/com/android/settings/password/BiometricFragment.java b/src/com/android/settings/password/BiometricFragment.java
index a7a039e..5030b6a 100644
--- a/src/com/android/settings/password/BiometricFragment.java
+++ b/src/com/android/settings/password/BiometricFragment.java
@@ -19,7 +19,6 @@
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 @@
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 @@
* @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 @@
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 @@
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 72dbed4..d7d1531 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -238,6 +238,7 @@
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 @@
boolean newFragment = false;
if (mBiometricFragment == null) {
- mBiometricFragment = BiometricFragment.newInstance(promptInfo,
- getCallingActivity());
+ mBiometricFragment = BiometricFragment.newInstance(promptInfo);
newFragment = true;
}
mBiometricFragment.setCallbacks(mExecutor, mAuthenticationCallback);