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

Commit 1f824d5c authored by Tetiana Meronyk's avatar Tetiana Meronyk
Browse files

Add restriction to prevent user from being made an admin

Bug: 261700461
Test: croot && make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.users.UserDetailsSettingsTest"
Change-Id: Ie518a17ae330e9b0864e5179dff7eb1d03f3937b
parent d445e30a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -307,8 +307,9 @@ public class UserDetailsSettings extends SettingsPreferenceFragment
            mSwitchUserPref.setSelectable(true);
            mSwitchUserPref.setOnPreferenceClickListener(this);
        }
        //TODO(b/261700461): remove preference for supervised user
        if (mUserInfo.isMain() || mUserInfo.isGuest() || !UserManager.isMultipleAdminEnabled()) {
        if (mUserInfo.isMain() || mUserInfo.isGuest() || !UserManager.isMultipleAdminEnabled()
                || mUserManager.hasUserRestrictionForUser(UserManager.DISALLOW_GRANT_ADMIN,
                mUserInfo.getUserHandle())) {
            removePreference(KEY_GRANT_ADMIN);
        }
        if (!mUserManager.isAdminUser()) { // non admin users can't remove users and allow calls
+10 −0
Original line number Diff line number Diff line
@@ -699,6 +699,16 @@ public class UserDetailsSettingsTest {
        verify(mFragment).removePreference(KEY_GRANT_ADMIN);
    }

    @Test
    public void initialize_restrictUserSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() {
        setupSelectedUser();
        ShadowUserManager.setIsMultipleAdminEnabled(true);
        mUserManager.setUserRestriction(mUserInfo.getUserHandle(),
                UserManager.DISALLOW_GRANT_ADMIN, true);
        mFragment.initialize(mActivity, mArguments);
        verify(mFragment).removePreference(KEY_GRANT_ADMIN);
    }

    @Test
    public void initialize_mainUserSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
        setupSelectedMainUser();