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:
@@ -307,8 +307,9 @@ public class UserDetailsSettings extends SettingsPreferenceFragment
|
|||||||
mSwitchUserPref.setSelectable(true);
|
mSwitchUserPref.setSelectable(true);
|
||||||
mSwitchUserPref.setOnPreferenceClickListener(this);
|
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);
|
removePreference(KEY_GRANT_ADMIN);
|
||||||
}
|
}
|
||||||
if (!mUserManager.isAdminUser()) { // non admin users can't remove users and allow calls
|
if (!mUserManager.isAdminUser()) { // non admin users can't remove users and allow calls
|
||||||
|
@@ -699,6 +699,16 @@ public class UserDetailsSettingsTest {
|
|||||||
verify(mFragment).removePreference(KEY_GRANT_ADMIN);
|
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
|
@Test
|
||||||
public void initialize_mainUserSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
|
public void initialize_mainUserSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
|
||||||
setupSelectedMainUser();
|
setupSelectedMainUser();
|
||||||
|
Reference in New Issue
Block a user