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.
*/
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();
}

View File

@@ -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