From 6a333a2ac3e4958b23f8ff8b037dc7d38a247856 Mon Sep 17 00:00:00 2001 From: josephpv Date: Tue, 24 Sep 2024 07:22:43 +0000 Subject: [PATCH] Show custom unlock title for private profile With this change whenever private space is unlocked and has its own lock different from device lock, it shows a custom title for PS in the unlock screen. Custom title for private profile will be shown in the auth screen while authentiation of private lock for the below usecase inside PS settings. - Auth shown while Delete private space from PS settings - Switching to device screen lock from a separate private space lock - Changing the private space lock type(Ex: from pattern to PIN) - Adding a biometric(face/fingerprint) for private profile When auth screen with custom title is put to background and the screen is in the recents list and if private space is locked then the auth scren with the title is removed from recents list along with the other settings task. Bug: 323835257 Test: Manual Change-Id: Ia0cc0b9bb54a429ebe027dc0937320e7fd23cb81 Flag: android.multiuser.show_custom_unlock_title_inside_private_profile --- res/values/strings.xml | 6 ++++++ .../android/settings/password/ConfirmLockPassword.java | 10 ++++++++++ .../android/settings/password/ConfirmLockPattern.java | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/res/values/strings.xml b/res/values/strings.xml index d752338bc40..6ee39708d6d 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1446,6 +1446,12 @@ Lock Hide + + Confirm your private space pattern + + Re-enter your private space PIN + + Re-enter your private space password You can add up to %d fingerprints diff --git a/src/com/android/settings/password/ConfirmLockPassword.java b/src/com/android/settings/password/ConfirmLockPassword.java index ead79d74d71..2665c373486 100644 --- a/src/com/android/settings/password/ConfirmLockPassword.java +++ b/src/com/android/settings/password/ConfirmLockPassword.java @@ -39,6 +39,7 @@ import android.os.CountDownTimer; import android.os.Handler; import android.os.Looper; import android.os.SystemClock; +import android.os.UserHandle; import android.os.UserManager; import android.text.Editable; import android.text.InputType; @@ -65,6 +66,7 @@ import com.android.internal.widget.LockscreenCredential; import com.android.internal.widget.TextViewInputDisabler; import com.android.settings.R; import com.android.settings.SetupRedactionInterstitial; +import com.android.settings.Utils; import com.android.settingslib.animation.AppearAnimationUtils; import com.android.settingslib.animation.DisappearAnimationUtils; @@ -290,6 +292,14 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity { CONFIRM_WORK_PROFILE_PIN_HEADER, () -> getString(R.string.lockpassword_confirm_your_work_pin_header)); } + if (android.multiuser.Flags.showCustomUnlockTitleInsidePrivateProfile() + && Utils.isPrivateProfile(mEffectiveUserId, getActivity()) + && !UserManager.get(getActivity()) + .isQuietModeEnabled(UserHandle.of(mEffectiveUserId))) { + return mIsAlpha ? getString(R.string.private_space_confirm_your_password_header) + : getString(R.string.private_space_confirm_your_pin_header); + } + return mIsAlpha ? getString(R.string.lockpassword_confirm_your_password_header) : getString(R.string.lockpassword_confirm_your_pin_header); } diff --git a/src/com/android/settings/password/ConfirmLockPattern.java b/src/com/android/settings/password/ConfirmLockPattern.java index 28d790e1912..784e89884b8 100644 --- a/src/com/android/settings/password/ConfirmLockPattern.java +++ b/src/com/android/settings/password/ConfirmLockPattern.java @@ -34,6 +34,7 @@ import android.os.AsyncTask; import android.os.Bundle; import android.os.CountDownTimer; import android.os.SystemClock; +import android.os.UserHandle; import android.os.UserManager; import android.text.TextUtils; import android.util.Log; @@ -55,6 +56,7 @@ import com.android.internal.widget.LockPatternView.Cell; import com.android.internal.widget.LockscreenCredential; import com.android.settings.R; import com.android.settings.SetupRedactionInterstitial; +import com.android.settings.Utils; import com.android.settingslib.animation.AppearAnimationCreator; import com.android.settingslib.animation.AppearAnimationUtils; import com.android.settingslib.animation.DisappearAnimationUtils; @@ -422,6 +424,12 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { CONFIRM_WORK_PROFILE_PATTERN_HEADER, () -> getString(R.string.lockpassword_confirm_your_work_pattern_header)); } + if (android.multiuser.Flags.showCustomUnlockTitleInsidePrivateProfile() + && Utils.isPrivateProfile(mEffectiveUserId, getActivity()) + && !UserManager.get(getActivity()) + .isQuietModeEnabled(UserHandle.of(mEffectiveUserId))) { + return getString(R.string.private_space_confirm_your_pattern_header); + } return getString(R.string.lockpassword_confirm_your_pattern_header); }