Add handling of admin enforced restrictions in Users Settings
Before, when the restrictions were applied, the preferences that were restricted were hidden. After this change, if admin applies a restriction, the preference is displayed as disabled and Policy Transparency Dialog is displayed Bug: 338226475 Test: atest UserSettingsTest && atest UserDetailsSettingsTest Flag: android.multiuser.new_multiuser_settings_ux Change-Id: I1b5aeeeec7accde278ff3e46ea3d64c91d8400db
This commit is contained in:
@@ -42,11 +42,14 @@ public class AddUserWhenLockedPreferenceController extends TogglePreferenceContr
|
||||
if (!isAvailable()) {
|
||||
restrictedSwitchPreference.setVisible(false);
|
||||
} else {
|
||||
restrictedSwitchPreference.setDisabledByAdmin(
|
||||
mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
|
||||
if (android.multiuser.Flags.newMultiuserSettingsUx()) {
|
||||
if (mUserCaps.mDisallowAddUserSetByAdmin) {
|
||||
restrictedSwitchPreference.setDisabledByAdmin(mUserCaps.mEnforcedAdmin);
|
||||
}
|
||||
restrictedSwitchPreference.setVisible(true);
|
||||
} else {
|
||||
restrictedSwitchPreference.setDisabledByAdmin(
|
||||
mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
|
||||
restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
|
||||
}
|
||||
}
|
||||
@@ -56,14 +59,12 @@ public class AddUserWhenLockedPreferenceController extends TogglePreferenceContr
|
||||
public int getAvailabilityStatus() {
|
||||
if (!mUserCaps.isAdmin()) {
|
||||
return DISABLED_FOR_USER;
|
||||
} else if (android.multiuser.Flags.newMultiuserSettingsUx()) {
|
||||
return AVAILABLE;
|
||||
} else if (mUserCaps.disallowAddUser() || mUserCaps.disallowAddUserSetByAdmin()) {
|
||||
return DISABLED_FOR_USER;
|
||||
} else {
|
||||
if (android.multiuser.Flags.newMultiuserSettingsUx()) {
|
||||
return AVAILABLE;
|
||||
} else {
|
||||
return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
|
||||
}
|
||||
return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user