diff --git a/src/com/android/settings/password/ChooseLockGenericController.java b/src/com/android/settings/password/ChooseLockGenericController.java index 9677a439aad..a9b2e00c218 100644 --- a/src/com/android/settings/password/ChooseLockGenericController.java +++ b/src/com/android/settings/password/ChooseLockGenericController.java @@ -72,13 +72,14 @@ public class ChooseLockGenericController { * Whether the given screen lock type should be visible in the given context. */ public boolean isScreenLockVisible(ScreenLockType type) { + final boolean managedProfile = mUserId != UserHandle.myUserId(); switch (type) { case NONE: - return !mContext.getResources().getBoolean(R.bool.config_hide_none_security_option); + return !mContext.getResources().getBoolean(R.bool.config_hide_none_security_option) + && !managedProfile; // Profiles should use unified challenge instead. case SWIPE: return !mContext.getResources().getBoolean(R.bool.config_hide_swipe_security_option) - // Swipe doesn't make sense for profiles. - && mUserId == UserHandle.myUserId(); + && !managedProfile; // Swipe doesn't make sense for profiles. case MANAGED: return mManagedPasswordProvider.isManagedPasswordChoosable(); } diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java index 609b3a5ce87..3fe01b64ac8 100644 --- a/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java +++ b/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java @@ -88,10 +88,12 @@ public class ChooseLockGenericControllerTest { } @Test - public void isScreenLockVisible_notCurrentUser_shouldHideSwipe() { + public void isScreenLockVisible_notCurrentUser_shouldHideInsecure() { mController = new ChooseLockGenericController(application, 1 /* userId */); assertThat(mController.isScreenLockVisible(ScreenLockType.SWIPE)).named("SWIPE visible") .isFalse(); + assertThat(mController.isScreenLockVisible(ScreenLockType.NONE)).named("NONE visible") + .isFalse(); } @Test