Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6ef5f04d authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents 374ae167 11ba18ad
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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,
+40 −0
Original line number Diff line number Diff line
@@ -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);