From f7ffa201f467efc263eb3d4ae68212591241d6bc Mon Sep 17 00:00:00 2001 From: Diya Bera Date: Thu, 8 Feb 2024 17:11:39 -0800 Subject: [PATCH] Use parent profile for device credential Flag: Flags.ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE Bug: 320458435 Test: N/A Change-Id: I9ee46d53df5f0617da643f1cf51db811a5eec478 --- .../android/settings/password/BiometricFragment.java | 11 +++++++++-- .../password/ConfirmDeviceCredentialActivity.java | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/password/BiometricFragment.java b/src/com/android/settings/password/BiometricFragment.java index 379ce80ad6d..90a1feba1f1 100644 --- a/src/com/android/settings/password/BiometricFragment.java +++ b/src/com/android/settings/password/BiometricFragment.java @@ -21,6 +21,7 @@ import android.hardware.biometrics.BiometricPrompt; import android.hardware.biometrics.BiometricPrompt.AuthenticationCallback; import android.hardware.biometrics.BiometricPrompt.AuthenticationResult; import android.hardware.biometrics.PromptInfo; +import android.multiuser.Flags; import android.os.Bundle; import android.os.CancellationSignal; @@ -140,8 +141,14 @@ public class BiometricFragment extends InstrumentedFragment { .setDisallowBiometricsIfPolicyExists( promptInfo.isDisallowBiometricsIfPolicyExists()) .setShowEmergencyCallButton(promptInfo.isShowEmergencyCallButton()) - .setReceiveSystemEvents(true) - .setAllowBackgroundAuthentication(true); + .setReceiveSystemEvents(true); + + if (Flags.enableBiometricsToUnlockPrivateSpace()) { + promptBuilder = promptBuilder.setAllowBackgroundAuthentication(true /* allow */, + promptInfo.shouldUseParentProfileForDeviceCredential()); + } else { + promptBuilder = promptBuilder.setAllowBackgroundAuthentication(true /* allow */); + } // Check if the default subtitle should be used if subtitle is null/empty if (promptInfo.isUseDefaultSubtitle()) { diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java index 4a760add79e..f2ebd1f6b3d 100644 --- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java +++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java @@ -311,6 +311,7 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity { mForceVerifyPath = userProperties.isCredentialShareableWithParent(); if (android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace() && isBiometricAllowed(effectiveUserId, mUserId)) { + promptInfo.setUseParentProfileForDeviceCredential(true); showBiometricPrompt(promptInfo, effectiveUserId); launchedBiometric = true; } else {