Read new value of admin status on UserCapabilities update
Before multiple admins were introduced, only main user could be an admin and that status was not modifiable. But now it can be updated for non-main admins of the device. So it is important to refresh this value to keep it up to date. Bug: 359466920 Test: atest UserCapabilitiesTest Flag: EXEMPT bugfix_only Change-Id: If39ad24b10daf6886f402926b3bab23b50201c98
This commit is contained in:
@@ -76,6 +76,9 @@ public class UserCapabilities {
|
||||
public void updateAddUserCapabilities(Context context) {
|
||||
final UserManager userManager =
|
||||
(UserManager) context.getSystemService(Context.USER_SERVICE);
|
||||
final UserInfo myUserInfo = userManager.getUserInfo(UserHandle.myUserId());
|
||||
mIsAdmin = myUserInfo.isAdmin();
|
||||
|
||||
mEnforcedAdmin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(context,
|
||||
UserManager.DISALLOW_ADD_USER, UserHandle.myUserId());
|
||||
final boolean hasBaseUserRestriction = RestrictedLockUtilsInternal.hasBaseUserRestriction(
|
||||
|
||||
@@ -80,6 +80,17 @@ public class UserCapabilitiesTest {
|
||||
assertThat(userCapabilities.mDisallowSwitchUser).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void changeAdminStatus_updateUserCapabilities_mIsAdminGetsUpdated() {
|
||||
mUserManager.setIsAdminUser(false);
|
||||
UserCapabilities userCapabilities = UserCapabilities.create(mContext);
|
||||
assertThat(userCapabilities.isAdmin()).isFalse();
|
||||
|
||||
mUserManager.setIsAdminUser(true);
|
||||
userCapabilities.updateAddUserCapabilities(mContext);
|
||||
assertThat(userCapabilities.mIsAdmin).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void userSwitchEnabled_off() {
|
||||
mUserManager.setUserSwitcherEnabled(false);
|
||||
|
||||
Reference in New Issue
Block a user