Allow creating admin users when 'config_enableMultipleAdmins' property is enabled

Bug: 262371063
Test: manual
Change-Id: I465901a8d689239d9dda252c5d6f37ec0853b317
This commit is contained in:
Tetiana Meronyk
2022-12-23 15:19:05 +00:00
parent ee3c5500f6
commit b389e9d551
3 changed files with 9 additions and 12 deletions

View File

@@ -308,8 +308,7 @@ public class UserDetailsSettings extends SettingsPreferenceFragment
mSwitchUserPref.setOnPreferenceClickListener(this); mSwitchUserPref.setOnPreferenceClickListener(this);
} }
//TODO(b/261700461): remove preference for supervised user //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.isMultipleAdminEnabled()) {
if (mUserInfo.isMain() || mUserInfo.isGuest() || !UserManager.isHeadlessSystemUserMode()) {
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

View File

@@ -722,9 +722,7 @@ public class UserSettings extends SettingsPreferenceFragment
KEY_ADD_USER_LONG_MESSAGE_DISPLAYED, KEY_ADD_USER_LONG_MESSAGE_DISPLAYED,
true).apply(); true).apply();
} }
//TODO(b/262371063): check whether multiple admins allowed, if (UserManager.isMultipleAdminEnabled()) {
// not for HSUM
if (UserManager.isHeadlessSystemUserMode()) {
showDialog(DIALOG_GRANT_ADMIN); showDialog(DIALOG_GRANT_ADMIN);
} else { } else {
showDialog(DIALOG_USER_PROFILE_EDITOR_ADD_USER); showDialog(DIALOG_USER_PROFILE_EDITOR_ADD_USER);

View File

@@ -684,11 +684,11 @@ public class UserDetailsSettingsTest {
} }
@Test @Test
public void initialize_userSelected_shouldShowGrantAdminPref_HSUM() { public void initialize_userSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
setupSelectedUser(); setupSelectedUser();
ShadowUserManager.setIsHeadlessSystemUserMode(true); ShadowUserManager.setIsMultipleAdminEnabled(true);
mFragment.initialize(mActivity, mArguments); mFragment.initialize(mActivity, mArguments);
assertTrue(UserManager.isHeadlessSystemUserMode()); assertTrue(UserManager.isMultipleAdminEnabled());
verify(mFragment, never()).removePreference(KEY_GRANT_ADMIN); verify(mFragment, never()).removePreference(KEY_GRANT_ADMIN);
} }
@@ -700,17 +700,17 @@ public class UserDetailsSettingsTest {
} }
@Test @Test
public void initialize_mainUserSelected_shouldShowGrantAdminPref_HSUM() { public void initialize_mainUserSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
setupSelectedMainUser(); setupSelectedMainUser();
ShadowUserManager.setIsHeadlessSystemUserMode(true); ShadowUserManager.setIsMultipleAdminEnabled(true);
mFragment.initialize(mActivity, mArguments); mFragment.initialize(mActivity, mArguments);
verify(mFragment).removePreference(KEY_GRANT_ADMIN); verify(mFragment).removePreference(KEY_GRANT_ADMIN);
} }
@Test @Test
public void initialize_guestSelected_shouldNotShowGrantAdminPref_HSUM() { public void initialize_guestSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() {
setupSelectedGuest(); setupSelectedGuest();
ShadowUserManager.setIsHeadlessSystemUserMode(true); ShadowUserManager.setIsMultipleAdminEnabled(true);
mFragment.initialize(mActivity, mArguments); mFragment.initialize(mActivity, mArguments);
verify(mFragment).removePreference(KEY_GRANT_ADMIN); verify(mFragment).removePreference(KEY_GRANT_ADMIN);
} }