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

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

Merge "Allow creating admin users when 'config_enableMultipleAdmins' property is enabled"

parents 4525cfb4 b389e9d5
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -308,8 +308,7 @@ public class UserDetailsSettings extends SettingsPreferenceFragment
            mSwitchUserPref.setOnPreferenceClickListener(this);
        }
        //TODO(b/261700461): remove preference for supervised user
        //TODO(b/262371063): check whether multiple admins allowed, not for HSUM
        if (mUserInfo.isMain() || mUserInfo.isGuest() || !UserManager.isHeadlessSystemUserMode()) {
        if (mUserInfo.isMain() || mUserInfo.isGuest() || !UserManager.isMultipleAdminEnabled()) {
            removePreference(KEY_GRANT_ADMIN);
        }
        if (!mUserManager.isAdminUser()) { // non admin users can't remove users and allow calls
+1 −3
Original line number Diff line number Diff line
@@ -722,9 +722,7 @@ public class UserSettings extends SettingsPreferenceFragment
                                                    KEY_ADD_USER_LONG_MESSAGE_DISPLAYED,
                                                    true).apply();
                                        }
                                        //TODO(b/262371063): check whether multiple admins allowed,
                                        // not for HSUM
                                        if (UserManager.isHeadlessSystemUserMode()) {
                                        if (UserManager.isMultipleAdminEnabled()) {
                                            showDialog(DIALOG_GRANT_ADMIN);
                                        } else {
                                            showDialog(DIALOG_USER_PROFILE_EDITOR_ADD_USER);
+7 −7
Original line number Diff line number Diff line
@@ -684,11 +684,11 @@ public class UserDetailsSettingsTest {
    }

    @Test
    public void initialize_userSelected_shouldShowGrantAdminPref_HSUM() {
    public void initialize_userSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
        setupSelectedUser();
        ShadowUserManager.setIsHeadlessSystemUserMode(true);
        ShadowUserManager.setIsMultipleAdminEnabled(true);
        mFragment.initialize(mActivity, mArguments);
        assertTrue(UserManager.isHeadlessSystemUserMode());
        assertTrue(UserManager.isMultipleAdminEnabled());
        verify(mFragment, never()).removePreference(KEY_GRANT_ADMIN);
    }

@@ -700,17 +700,17 @@ public class UserDetailsSettingsTest {
    }

    @Test
    public void initialize_mainUserSelected_shouldShowGrantAdminPref_HSUM() {
    public void initialize_mainUserSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
        setupSelectedMainUser();
        ShadowUserManager.setIsHeadlessSystemUserMode(true);
        ShadowUserManager.setIsMultipleAdminEnabled(true);
        mFragment.initialize(mActivity, mArguments);
        verify(mFragment).removePreference(KEY_GRANT_ADMIN);
    }

    @Test
    public void initialize_guestSelected_shouldNotShowGrantAdminPref_HSUM() {
    public void initialize_guestSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() {
        setupSelectedGuest();
        ShadowUserManager.setIsHeadlessSystemUserMode(true);
        ShadowUserManager.setIsMultipleAdminEnabled(true);
        mFragment.initialize(mActivity, mArguments);
        verify(mFragment).removePreference(KEY_GRANT_ADMIN);
    }