From 83b49e06c2d2ee1b2535c3b208ffb70d1931e13f Mon Sep 17 00:00:00 2001 From: josephpv Date: Tue, 16 Jul 2024 14:20:40 +0000 Subject: [PATCH] Remove Biometric Option from Private Space Lock Setup in Settings With this change when secondary unlock factor for private space is initiated from settings page only the option to set traditional unlock factors will be shown and biometric option will not be shown. User will return to private space unlock settings screen. User should be able to manually set up biometrics form its dedicatated settings entry point after authentication. Recording: b/332850595#comment7 Flag: android.multiuser.modify_private_space_secondary_unlock_setup_flow Bug: 332850595 Test: Manual Change-Id: I8feb8c23300ddb537c428f3675178c5ff49932d1 --- .../onelock/UseOneLockControllerSwitch.java | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java b/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java index dfac100a522..1e503ecdebb 100644 --- a/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java +++ b/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java @@ -16,6 +16,8 @@ package com.android.settings.privatespace.onelock; +import static com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment.HIDE_INSECURE_OPTIONS; +import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE; import static com.android.settings.privatespace.PrivateSpaceSetupActivity.EXTRA_ACTION_TYPE; import static com.android.settings.privatespace.PrivateSpaceSetupActivity.SET_LOCK_ACTION; import static com.android.settings.privatespace.onelock.UseOneLockSettingsFragment.UNIFY_PRIVATE_LOCK_WITH_DEVICE_REQUEST; @@ -197,12 +199,7 @@ public class UseOneLockControllerSwitch extends AbstractPreferenceController .setPositiveButton( R.string.private_space_set_lock_label, (dialog, which) -> { - Intent intent = new Intent(mContext, - PrivateProfileContextHelperActivity.class); - intent.putExtra(EXTRA_ACTION_TYPE, SET_LOCK_ACTION); - ((Activity) mContext).startActivityForResultAsUser(intent, - UNUNIFY_PRIVATE_LOCK_FROM_DEVICE_REQUEST, - /*Options*/ null, mUserHandle); + startSeparateLockSetup(); }) .setNegativeButton(R.string.private_space_cancel_label, (DialogInterface dialog, int which) -> { @@ -216,4 +213,26 @@ public class UseOneLockControllerSwitch extends AbstractPreferenceController }) .show(); } + + private void startSeparateLockSetup() { + if (android.multiuser.Flags.modifyPrivateSpaceSecondaryUnlockSetupFlow()) { + final Bundle extras = new Bundle(); + extras.putInt(Intent.EXTRA_USER_ID, mProfileUserId); + extras.putBoolean(HIDE_INSECURE_OPTIONS, true); + extras.putInt(EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE, + R.string.private_space_lock_setup_title); + new SubSettingLauncher(mContext).setDestination(ChooseLockGeneric + .ChooseLockGenericFragment.class.getName()) + .setSourceMetricsCategory(mHost.getMetricsCategory()) + .setArguments(extras) + .setExtras(extras) + .setTransitionType(SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE) + .launch(); + } else { + Intent intent = new Intent(mContext, PrivateProfileContextHelperActivity.class); + intent.putExtra(EXTRA_ACTION_TYPE, SET_LOCK_ACTION); + ((Activity) mContext).startActivityForResultAsUser(intent, + UNUNIFY_PRIVATE_LOCK_FROM_DEVICE_REQUEST, /*Options*/ null, mUserHandle); + } + } }