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
This commit is contained in:
josephpv
2024-07-16 14:20:40 +00:00
committed by Joseph Vincent
parent d133ec93ab
commit 83b49e06c2

View File

@@ -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);
}
}
}