Loading src/com/android/settings/password/ChooseLockGenericController.java +2 −1 Original line number Diff line number Diff line Loading @@ -190,7 +190,8 @@ public class ChooseLockGenericController { * requirements. The lock's visibility ({@link #isScreenLockVisible}) is not considered here. */ public boolean isScreenLockEnabled(ScreenLockType type) { return type.maxQuality >= upgradeQuality(PASSWORD_QUALITY_UNSPECIFIED); return !mLockPatternUtils.isCredentialsDisabledForUser(mUserId) && type.maxQuality >= upgradeQuality(PASSWORD_QUALITY_UNSPECIFIED); } /** Loading tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_MEDIUM; import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_NONE; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_COMPLEX; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_MANAGED; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING; Loading Loading @@ -189,6 +190,16 @@ public class ChooseLockGenericControllerTest { assertThat(mController.isScreenLockEnabled(ScreenLockType.PASSWORD)).isTrue(); } @Test public void isScreenLockEnabled_QualityManaged() { setDevicePolicyPasswordQuality(PASSWORD_QUALITY_MANAGED); assertThat(mController.isScreenLockEnabled(ScreenLockType.NONE)).isFalse(); assertThat(mController.isScreenLockEnabled(ScreenLockType.SWIPE)).isFalse(); assertThat(mController.isScreenLockEnabled(ScreenLockType.PATTERN)).isFalse(); assertThat(mController.isScreenLockEnabled(ScreenLockType.PIN)).isFalse(); assertThat(mController.isScreenLockEnabled(ScreenLockType.PASSWORD)).isFalse(); } @Test public void isScreenLockEnabled_NoneComplexity() { when(mLockPatternUtils.getRequestedPasswordComplexity(anyInt(), anyBoolean())) Loading Loading @@ -353,6 +364,9 @@ public class ChooseLockGenericControllerTest { when(mLockPatternUtils.getRequestedPasswordMetrics(anyInt(), anyBoolean())) .thenReturn(policy.getMinMetrics()); when(mLockPatternUtils.isCredentialsDisabledForUser(anyInt())) .thenReturn(quality == PASSWORD_QUALITY_MANAGED); } private ChooseLockGenericController.Builder createBuilder() { Loading Loading
src/com/android/settings/password/ChooseLockGenericController.java +2 −1 Original line number Diff line number Diff line Loading @@ -190,7 +190,8 @@ public class ChooseLockGenericController { * requirements. The lock's visibility ({@link #isScreenLockVisible}) is not considered here. */ public boolean isScreenLockEnabled(ScreenLockType type) { return type.maxQuality >= upgradeQuality(PASSWORD_QUALITY_UNSPECIFIED); return !mLockPatternUtils.isCredentialsDisabledForUser(mUserId) && type.maxQuality >= upgradeQuality(PASSWORD_QUALITY_UNSPECIFIED); } /** Loading
tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_MEDIUM; import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_NONE; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_COMPLEX; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_MANAGED; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING; Loading Loading @@ -189,6 +190,16 @@ public class ChooseLockGenericControllerTest { assertThat(mController.isScreenLockEnabled(ScreenLockType.PASSWORD)).isTrue(); } @Test public void isScreenLockEnabled_QualityManaged() { setDevicePolicyPasswordQuality(PASSWORD_QUALITY_MANAGED); assertThat(mController.isScreenLockEnabled(ScreenLockType.NONE)).isFalse(); assertThat(mController.isScreenLockEnabled(ScreenLockType.SWIPE)).isFalse(); assertThat(mController.isScreenLockEnabled(ScreenLockType.PATTERN)).isFalse(); assertThat(mController.isScreenLockEnabled(ScreenLockType.PIN)).isFalse(); assertThat(mController.isScreenLockEnabled(ScreenLockType.PASSWORD)).isFalse(); } @Test public void isScreenLockEnabled_NoneComplexity() { when(mLockPatternUtils.getRequestedPasswordComplexity(anyInt(), anyBoolean())) Loading Loading @@ -353,6 +364,9 @@ public class ChooseLockGenericControllerTest { when(mLockPatternUtils.getRequestedPasswordMetrics(anyInt(), anyBoolean())) .thenReturn(policy.getMinMetrics()); when(mLockPatternUtils.isCredentialsDisabledForUser(anyInt())) .thenReturn(quality == PASSWORD_QUALITY_MANAGED); } private ChooseLockGenericController.Builder createBuilder() { Loading