Merge "Don't offer "None" lock type for work profiles."

This commit is contained in:
TreeHugger Robot
2018-08-20 16:39:30 +00:00
committed by Android (Google) Code Review
2 changed files with 7 additions and 4 deletions

View File

@@ -72,13 +72,14 @@ public class ChooseLockGenericController {
* Whether the given screen lock type should be visible in the given context. * Whether the given screen lock type should be visible in the given context.
*/ */
public boolean isScreenLockVisible(ScreenLockType type) { public boolean isScreenLockVisible(ScreenLockType type) {
final boolean managedProfile = mUserId != UserHandle.myUserId();
switch (type) { switch (type) {
case NONE: 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: case SWIPE:
return !mContext.getResources().getBoolean(R.bool.config_hide_swipe_security_option) return !mContext.getResources().getBoolean(R.bool.config_hide_swipe_security_option)
// Swipe doesn't make sense for profiles. && !managedProfile; // Swipe doesn't make sense for profiles.
&& mUserId == UserHandle.myUserId();
case MANAGED: case MANAGED:
return mManagedPasswordProvider.isManagedPasswordChoosable(); return mManagedPasswordProvider.isManagedPasswordChoosable();
} }

View File

@@ -88,10 +88,12 @@ public class ChooseLockGenericControllerTest {
} }
@Test @Test
public void isScreenLockVisible_notCurrentUser_shouldHideSwipe() { public void isScreenLockVisible_notCurrentUser_shouldHideInsecure() {
mController = new ChooseLockGenericController(application, 1 /* userId */); mController = new ChooseLockGenericController(application, 1 /* userId */);
assertThat(mController.isScreenLockVisible(ScreenLockType.SWIPE)).named("SWIPE visible") assertThat(mController.isScreenLockVisible(ScreenLockType.SWIPE)).named("SWIPE visible")
.isFalse(); .isFalse();
assertThat(mController.isScreenLockVisible(ScreenLockType.NONE)).named("NONE visible")
.isFalse();
} }
@Test @Test