Allow creating admin users when 'config_enableMultipleAdmins' property is enabled
Bug: 262371063 Test: manual Change-Id: I465901a8d689239d9dda252c5d6f37ec0853b317
This commit is contained in:
@@ -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
|
||||||
|
@@ -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);
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user