Merge "Hide remove user option for main user in multi user settings"

This commit is contained in:
Nikhil Kumar
2022-11-30 10:29:49 +00:00
committed by Android (Google) Code Review
2 changed files with 38 additions and 2 deletions

View File

@@ -387,6 +387,16 @@ public class UserDetailsSettingsTest {
verify(mFragment).removePreference(KEY_REMOVE_USER);
}
@Test
public void initialize_onMainUser_shouldNotShowRemovePreference() {
setupSelectedMainUser();
mUserManager.setIsAdminUser(true);
mFragment.initialize(mActivity, mArguments);
verify(mFragment).removePreference(KEY_REMOVE_USER);
}
@Test
public void initialize_disallowRemoveUserRestriction_shouldNotShowRemovePreference() {
setupSelectedUser();
@@ -571,10 +581,22 @@ public class UserDetailsSettingsTest {
assertThat(result).isFalse();
}
@Test
public void canDeleteUser_onMainUser_shouldReturnFalse() {
setupSelectedMainUser();
mUserManager.setIsAdminUser(true);
mFragment.mUserInfo = mUserInfo;
boolean result = mFragment.canDeleteUser();
assertThat(result).isFalse();
}
@Test
public void canDeleteUser_adminSelectsUser_noRestrictions_shouldReturnTrue() {
setupSelectedUser();
mUserManager.setIsAdminUser(true);
mFragment.mUserInfo = mUserInfo;
boolean result = mFragment.canDeleteUser();
@@ -585,6 +607,7 @@ public class UserDetailsSettingsTest {
public void canDeleteUser_adminSelectsUser_hasRemoveRestriction_shouldReturnFalse() {
setupSelectedUser();
mUserManager.setIsAdminUser(true);
mFragment.mUserInfo = mUserInfo;
ComponentName componentName = new ComponentName("test", "test");
ShadowDevicePolicyManager.getShadow().setDeviceOwnerComponentOnAnyUser(componentName);
ShadowDevicePolicyManager.getShadow().setDeviceOwnerUserId(UserHandle.myUserId());
@@ -611,6 +634,15 @@ public class UserDetailsSettingsTest {
mUserManager.addProfile(mUserInfo);
}
private void setupSelectedMainUser() {
mArguments.putInt("user_id", 11);
mUserInfo = new UserInfo(11, "Jerry", null,
UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_MAIN,
UserManager.USER_TYPE_FULL_SECONDARY);
mUserManager.addProfile(mUserInfo);
}
private void setupSelectedGuest() {
mArguments.putInt("user_id", 23);
mUserInfo = new UserInfo(23, "Guest", null,