Merge "Use InternalActivity when ForceVerifyPath is set" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-02-11 14:23:26 +00:00
committed by Android (Google) Code Review
2 changed files with 42 additions and 2 deletions

View File

@@ -312,7 +312,7 @@ public final class ChooseLockSettingsHelper {
switch (mLockPatternUtils.getKeyguardStoredPasswordQuality(effectiveUserId)) {
case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
launched = launchConfirmationActivity(request, title, header, description,
returnCredentials
returnCredentials || forceVerifyPath
? ConfirmLockPattern.InternalActivity.class
: ConfirmLockPattern.class, returnCredentials, external,
forceVerifyPath, userId, alternateButton, allowAnyUser,
@@ -325,7 +325,7 @@ public final class ChooseLockSettingsHelper {
case DevicePolicyManager.PASSWORD_QUALITY_COMPLEX:
case DevicePolicyManager.PASSWORD_QUALITY_MANAGED:
launched = launchConfirmationActivity(request, title, header, description,
returnCredentials
returnCredentials || forceVerifyPath
? ConfirmLockPassword.InternalActivity.class
: ConfirmLockPassword.class, returnCredentials, external,
forceVerifyPath, userId, alternateButton, allowAnyUser,

View File

@@ -120,6 +120,46 @@ public class ChooseLockSettingsHelperTest {
.isEqualTo(ThemeHelper.THEME_GLIF_V2);
}
@Test
public void launchConfirmPattern_ForceVerify_shouldLaunchInternalActivity() {
final Activity activity = Robolectric.setupActivity(Activity.class);
ChooseLockSettingsHelper.Builder builder = new ChooseLockSettingsHelper.Builder(activity);
builder.setRequestCode(100)
.setForceVerifyPath(true);
ChooseLockSettingsHelper helper = getChooseLockSettingsHelper(builder);
when(helper.mLockPatternUtils.getKeyguardStoredPasswordQuality(anyInt()))
.thenReturn(DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
helper.launch();
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
Intent startedIntent = shadowActivity.getNextStartedActivity();
assertEquals(new ComponentName("com.android.settings",
ConfirmLockPattern.InternalActivity.class.getName()),
startedIntent.getComponent());
}
@Test
public void launchConfirmPassword_ForceVerify_shouldLaunchInternalActivity() {
final Activity activity = Robolectric.setupActivity(Activity.class);
ChooseLockSettingsHelper.Builder builder = new ChooseLockSettingsHelper.Builder(activity);
builder.setRequestCode(100)
.setForceVerifyPath(true);
ChooseLockSettingsHelper helper = getChooseLockSettingsHelper(builder);
when(helper.mLockPatternUtils.getKeyguardStoredPasswordQuality(anyInt()))
.thenReturn(DevicePolicyManager.PASSWORD_QUALITY_NUMERIC);
helper.launch();
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
Intent startedIntent = shadowActivity.getNextStartedActivity();
assertEquals(new ComponentName("com.android.settings",
ConfirmLockPassword.InternalActivity.class.getName()),
startedIntent.getComponent());
}
private ChooseLockSettingsHelper getChooseLockSettingsHelper(
ChooseLockSettingsHelper.Builder builder) {
LockPatternUtils mockLockPatternUtils = mock(LockPatternUtils.class);