Passing the writing repair mode password flag to verify credential api
Handles the ACTION_PREPARE_REPAIR_MODE_DEVICE_CREDENTIAL intent to prompt the user for device credentials. Passing the writing repair mode password flag to the verify credential api when the user is authenticating. Bug: 277561275 Test: am start -a android.app.action.PREPARE_REPAIR_MODE_DEVICE_CREDENTIAL Change-Id: Id018586b0ed535555c157b7516c9571b049978ad
This commit is contained in:
@@ -71,6 +71,8 @@ public final class ChooseLockSettingsHelper {
|
||||
// Gatekeeper password handle, which can subsequently be used to generate Gatekeeper
|
||||
// HardwareAuthToken(s) via LockSettingsService#verifyGatekeeperPasswordHandle
|
||||
public static final String EXTRA_KEY_GK_PW_HANDLE = "gk_pw_handle";
|
||||
public static final String EXTRA_KEY_REQUEST_WRITE_REPAIR_MODE_PW =
|
||||
"request_write_repair_mode_pw";
|
||||
|
||||
/**
|
||||
* When EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL and EXTRA_KEY_UNIFICATION_PROFILE_ID are
|
||||
@@ -152,6 +154,7 @@ public final class ChooseLockSettingsHelper {
|
||||
@Nullable private RemoteLockscreenValidationSession mRemoteLockscreenValidationSession;
|
||||
@Nullable private ComponentName mRemoteLockscreenValidationServiceComponent;
|
||||
private boolean mRequestGatekeeperPasswordHandle;
|
||||
private boolean mRequestWriteRepairModePassword;
|
||||
private boolean mTaskOverlay;
|
||||
|
||||
public Builder(@NonNull Activity activity) {
|
||||
@@ -335,6 +338,17 @@ public final class ChooseLockSettingsHelper {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param requestWriteRepairModePassword Set {@code true} to request that
|
||||
* LockSettingsService writes the password data to the repair mode file after the user
|
||||
* credential is verified successfully.
|
||||
*/
|
||||
@NonNull public Builder setRequestWriteRepairModePassword(
|
||||
boolean requestWriteRepairModePassword) {
|
||||
mRequestWriteRepairModePassword = requestWriteRepairModePassword;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Support of ActivityResultLauncher.
|
||||
*
|
||||
@@ -385,7 +399,7 @@ public final class ChooseLockSettingsHelper {
|
||||
mBuilder.mRemoteLockscreenValidationSession,
|
||||
mBuilder.mRemoteLockscreenValidationServiceComponent, mBuilder.mAllowAnyUserId,
|
||||
mBuilder.mForegroundOnly, mBuilder.mRequestGatekeeperPasswordHandle,
|
||||
mBuilder.mTaskOverlay);
|
||||
mBuilder.mRequestWriteRepairModePassword, mBuilder.mTaskOverlay);
|
||||
}
|
||||
|
||||
private boolean launchConfirmationActivity(int request, @Nullable CharSequence title,
|
||||
@@ -396,7 +410,7 @@ public final class ChooseLockSettingsHelper {
|
||||
@Nullable RemoteLockscreenValidationSession remoteLockscreenValidationSession,
|
||||
@Nullable ComponentName remoteLockscreenValidationServiceComponent,
|
||||
boolean allowAnyUser, boolean foregroundOnly, boolean requestGatekeeperPasswordHandle,
|
||||
boolean taskOverlay) {
|
||||
boolean requestWriteRepairModePassword, boolean taskOverlay) {
|
||||
Optional<Class<?>> activityClass = determineAppropriateActivityClass(
|
||||
returnCredentials, forceVerifyPath, userId, remoteLockscreenValidationSession);
|
||||
if (activityClass.isEmpty()) {
|
||||
@@ -407,7 +421,7 @@ public final class ChooseLockSettingsHelper {
|
||||
returnCredentials, external, forceVerifyPath, userId, alternateButton,
|
||||
checkboxLabel, remoteLockscreenValidation, remoteLockscreenValidationSession,
|
||||
remoteLockscreenValidationServiceComponent, allowAnyUser, foregroundOnly,
|
||||
requestGatekeeperPasswordHandle, taskOverlay);
|
||||
requestGatekeeperPasswordHandle, requestWriteRepairModePassword, taskOverlay);
|
||||
}
|
||||
|
||||
private boolean launchConfirmationActivity(int request, CharSequence title, CharSequence header,
|
||||
@@ -418,7 +432,7 @@ public final class ChooseLockSettingsHelper {
|
||||
@Nullable RemoteLockscreenValidationSession remoteLockscreenValidationSession,
|
||||
@Nullable ComponentName remoteLockscreenValidationServiceComponent,
|
||||
boolean allowAnyUser, boolean foregroundOnly, boolean requestGatekeeperPasswordHandle,
|
||||
boolean taskOverlay) {
|
||||
boolean requestWriteRepairModePassword, boolean taskOverlay) {
|
||||
final Intent intent = new Intent();
|
||||
intent.putExtra(ConfirmDeviceCredentialBaseFragment.TITLE_TEXT, title);
|
||||
intent.putExtra(ConfirmDeviceCredentialBaseFragment.HEADER_TEXT, header);
|
||||
@@ -442,6 +456,8 @@ public final class ChooseLockSettingsHelper {
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_ALLOW_ANY_USER, allowAnyUser);
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE,
|
||||
requestGatekeeperPasswordHandle);
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_WRITE_REPAIR_MODE_PW,
|
||||
requestWriteRepairModePassword);
|
||||
|
||||
intent.setClassName(SETTINGS_PACKAGE_NAME, activityClass.getName());
|
||||
intent.putExtra(SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE,
|
||||
|
Reference in New Issue
Block a user