Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61d661fe authored by Tetiana Meronyk's avatar Tetiana Meronyk Committed by Android (Google) Code Review
Browse files

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

parents e09381cf 3ade4a3a
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -57,6 +57,11 @@ public class MultiUserSwitchBarController implements SwitchWidgetController.OnSw
            mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
                    .checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_USER_SWITCH,
                            UserHandle.myUserId()));

        } else if (mUserCapabilities.mDisallowAddUser) {
            mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
                    .checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_ADD_USER,
                            UserHandle.myUserId()));
        } else {
            mSwitchBar.setEnabled(!mUserCapabilities.mDisallowSwitchUser
                    && !mUserCapabilities.mIsGuest && mUserCapabilities.isAdmin());
+1 −1
Original line number Diff line number Diff line
@@ -1489,7 +1489,7 @@ public class UserSettings extends SettingsPreferenceFragment

    private void updateAddUserCommon(Context context, RestrictedPreference addUser,
            boolean canAddRestrictedProfile) {
        if ((mUserCaps.mCanAddUser || mUserCaps.mDisallowAddUserSetByAdmin)
        if ((mUserCaps.mCanAddUser || !mUserCaps.mDisallowAddUserSetByAdmin)
                && WizardManagerHelper.isDeviceProvisioned(context)
                && mUserCaps.mUserSwitcherEnabled) {
            addUser.setVisible(true);
+4 −8
Original line number Diff line number Diff line
@@ -402,7 +402,7 @@ public class UserSettingsTest {
    }

    @Test
    public void updateUserList_addUserDisallowedByAdmin_shouldShowDisabledAddUser() {
    public void updateUserList_addUserDisallowedByAdmin_shouldNotShowAddUser() {
        RestrictedLockUtils.EnforcedAdmin enforcedAdmin = mock(
                RestrictedLockUtils.EnforcedAdmin.class);
        mUserCapabilities.mEnforcedAdmin = enforcedAdmin;
@@ -413,20 +413,16 @@ public class UserSettingsTest {

        mFragment.updateUserList();

        verify(mAddUserPreference).setVisible(true);
        ArgumentCaptor<RestrictedLockUtils.EnforcedAdmin> captor = ArgumentCaptor.forClass(
                RestrictedLockUtils.EnforcedAdmin.class);
        verify(mAddUserPreference).setDisabledByAdmin(captor.capture());
        assertThat(captor.getValue()).isEqualTo(enforcedAdmin);
        verify(mAddUserPreference).setVisible(false);
    }

    @Test
    public void updateUserList_cannotAddUserButCanSwitchUser_shouldNotShowAddUser() {
    public void updateUserList_cannotAddUserButCanSwitchUser_shouldShowDisabledAddUser() {
        mUserCapabilities.mCanAddUser = false;

        mFragment.updateUserList();

        verify(mAddUserPreference).setVisible(false);
        verify(mAddUserPreference).setEnabled(false);
    }

    @Test