Enforce disallow switch user in user settings
Disallow the following actions which result in switch user when DISALLOW_USER_SWITCH is set - Creating guest - Showing user setup dialog for newly created user - Clicking uninitialized user preference Bug: 71694430 Test: CTSVerifier DeviceOwnerPositiveTest - DISALLOW_USER_SWITCH Test: m -j ROBOTEST_FILTER=UserCapabilitiesTest RunSettingsRoboTests Test: m -j ROBOTEST_FILTER=AddUserWhenLockedPreferenceController RunSettingsRoboTests Test: m -j ROBOTEST_FILTER=UserSettingsTest RunSettingsRoboTests Change-Id: Ia4c7e7b4947bfaf2ebeef4d32a473bdac542d6a6
This commit is contained in:
@@ -34,6 +34,7 @@ public class UserCapabilities {
|
||||
boolean mCanAddGuest;
|
||||
boolean mDisallowAddUser;
|
||||
boolean mDisallowAddUserSetByAdmin;
|
||||
boolean mDisallowSwitchUser;
|
||||
RestrictedLockUtils.EnforcedAdmin mEnforcedAdmin;
|
||||
|
||||
private UserCapabilities() {}
|
||||
@@ -79,6 +80,9 @@ public class UserCapabilities {
|
||||
final boolean canAddUsersWhenLocked = mIsAdmin || Settings.Global.getInt(
|
||||
context.getContentResolver(), Settings.Global.ADD_USERS_WHEN_LOCKED, 0) == 1;
|
||||
mCanAddGuest = !mIsGuest && !mDisallowAddUser && canAddUsersWhenLocked;
|
||||
|
||||
UserManager userManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
|
||||
mDisallowSwitchUser = userManager.hasUserRestriction(UserManager.DISALLOW_USER_SWITCH);
|
||||
}
|
||||
|
||||
public boolean isAdmin() {
|
||||
@@ -109,6 +113,7 @@ public class UserCapabilities {
|
||||
", mCanAddGuest=" + mCanAddGuest +
|
||||
", mDisallowAddUser=" + mDisallowAddUser +
|
||||
", mEnforcedAdmin=" + mEnforcedAdmin +
|
||||
", mDisallowSwitchUser=" + mDisallowSwitchUser +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user