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
This commit is contained in:
Tetiana Meronyk
2023-01-17 23:41:50 +00:00
parent d445e30a98
commit 1f824d5c18
2 changed files with 13 additions and 2 deletions

View File

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

View File

@@ -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();