Merge "Disable toggle on managed device with "Disallow add user" or "Disallow switch user""

This commit is contained in:
Tetiana Meronyk
2022-11-07 09:27:30 +00:00
committed by Android (Google) Code Review
3 changed files with 10 additions and 9 deletions

View File

@@ -57,6 +57,11 @@ public class MultiUserSwitchBarController implements SwitchWidgetController.OnSw
mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
.checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_USER_SWITCH, .checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_USER_SWITCH,
UserHandle.myUserId())); UserHandle.myUserId()));
} else if (mUserCapabilities.mDisallowAddUser) {
mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
.checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_ADD_USER,
UserHandle.myUserId()));
} else { } else {
mSwitchBar.setEnabled(!mUserCapabilities.mDisallowSwitchUser mSwitchBar.setEnabled(!mUserCapabilities.mDisallowSwitchUser
&& !mUserCapabilities.mIsGuest && mUserCapabilities.isAdmin()); && !mUserCapabilities.mIsGuest && mUserCapabilities.isAdmin());

View File

@@ -1489,7 +1489,7 @@ public class UserSettings extends SettingsPreferenceFragment
private void updateAddUserCommon(Context context, RestrictedPreference addUser, private void updateAddUserCommon(Context context, RestrictedPreference addUser,
boolean canAddRestrictedProfile) { boolean canAddRestrictedProfile) {
if ((mUserCaps.mCanAddUser || mUserCaps.mDisallowAddUserSetByAdmin) if ((mUserCaps.mCanAddUser || !mUserCaps.mDisallowAddUserSetByAdmin)
&& WizardManagerHelper.isDeviceProvisioned(context) && WizardManagerHelper.isDeviceProvisioned(context)
&& mUserCaps.mUserSwitcherEnabled) { && mUserCaps.mUserSwitcherEnabled) {
addUser.setVisible(true); addUser.setVisible(true);

View File

@@ -402,7 +402,7 @@ public class UserSettingsTest {
} }
@Test @Test
public void updateUserList_addUserDisallowedByAdmin_shouldShowDisabledAddUser() { public void updateUserList_addUserDisallowedByAdmin_shouldNotShowAddUser() {
RestrictedLockUtils.EnforcedAdmin enforcedAdmin = mock( RestrictedLockUtils.EnforcedAdmin enforcedAdmin = mock(
RestrictedLockUtils.EnforcedAdmin.class); RestrictedLockUtils.EnforcedAdmin.class);
mUserCapabilities.mEnforcedAdmin = enforcedAdmin; mUserCapabilities.mEnforcedAdmin = enforcedAdmin;
@@ -413,20 +413,16 @@ public class UserSettingsTest {
mFragment.updateUserList(); mFragment.updateUserList();
verify(mAddUserPreference).setVisible(true); verify(mAddUserPreference).setVisible(false);
ArgumentCaptor<RestrictedLockUtils.EnforcedAdmin> captor = ArgumentCaptor.forClass(
RestrictedLockUtils.EnforcedAdmin.class);
verify(mAddUserPreference).setDisabledByAdmin(captor.capture());
assertThat(captor.getValue()).isEqualTo(enforcedAdmin);
} }
@Test @Test
public void updateUserList_cannotAddUserButCanSwitchUser_shouldNotShowAddUser() { public void updateUserList_cannotAddUserButCanSwitchUser_shouldShowDisabledAddUser() {
mUserCapabilities.mCanAddUser = false; mUserCapabilities.mCanAddUser = false;
mFragment.updateUserList(); mFragment.updateUserList();
verify(mAddUserPreference).setVisible(false); verify(mAddUserPreference).setEnabled(false);
} }
@Test @Test