From d31d6d110ca1ef6f1d5aa2436cbe433c4a20cb35 Mon Sep 17 00:00:00 2001 From: Hao Dong Date: Fri, 8 Nov 2024 00:19:52 +0000 Subject: [PATCH] Fix work apps interceptor biometric prompt icon. Use the launching app's package name to get the default logo. Bug: 369219504 Test: manual test on work profile with testdpc Flag: EXEMPT bugfix Change-Id: I2d11079e8f321ae3ee8cc3c5f7b9d1a4104825a9 --- .../ConfirmDeviceCredentialActivity.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java index 302cf1fcdf0..7827b4b8d11 100644 --- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java +++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java @@ -21,6 +21,7 @@ import static android.Manifest.permission.SET_BIOMETRIC_DIALOG_ADVANCED; import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PASSWORD_HEADER; import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PATTERN_HEADER; import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PIN_HEADER; +import static android.content.Intent.EXTRA_PACKAGE_NAME; import static android.view.WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS; import static com.android.systemui.biometrics.Utils.toBitmap; @@ -152,8 +153,10 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { == BiometricPrompt.AUTHENTICATION_RESULT_TYPE_DEVICE_CREDENTIAL; ConfirmDeviceCredentialUtils.reportSuccessfulAttempt(mLockPatternUtils, mUserManager, mDevicePolicyManager, mUserId, isStrongAuth); - ConfirmDeviceCredentialUtils.checkForPendingIntent( - ConfirmDeviceCredentialActivity.this); + if (isInternalActivity()) { + ConfirmDeviceCredentialUtils.checkForPendingIntent( + ConfirmDeviceCredentialActivity.this); + } setResult(Activity.RESULT_OK); finish(); @@ -244,7 +247,14 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { promptInfo.setDisallowBiometricsIfPolicyExists(mCheckDevicePolicyManager); promptInfo.setAuthenticators(mBiometricsAuthenticators); promptInfo.setNegativeButtonText(negativeButtonText); - promptInfo.setRealCallerForConfirmDeviceCredentialActivity(getCallingActivity()); + + final String callerPackageName = intent.getStringExtra(EXTRA_PACKAGE_NAME); + if (isInternalActivity() && callerPackageName != null) { + promptInfo.setRealCallerForConfirmDeviceCredentialActivity( + new ComponentName(callerPackageName, "")); + } else { + promptInfo.setRealCallerForConfirmDeviceCredentialActivity(getCallingActivity()); + } if (android.multiuser.Flags.enablePrivateSpaceFeatures() && android.multiuser.Flags.usePrivateSpaceIconInBiometricPrompt()