Part2 - Don't add padlock if the restriction is not set by admin.
Bug: 26687435 Change-Id: I85ef42e1ff1216791d1393a975e8559191b3781f
This commit is contained in:
@@ -169,7 +169,9 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
|
|||||||
} catch (IllegalArgumentException ignored) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
isCellBroadcastAppLinkEnabled = false; // CMAS app not installed
|
isCellBroadcastAppLinkEnabled = false; // CMAS app not installed
|
||||||
}
|
}
|
||||||
if (!mUserManager.isAdminUser() || !isCellBroadcastAppLinkEnabled) {
|
if (!mUserManager.isAdminUser() || !isCellBroadcastAppLinkEnabled ||
|
||||||
|
RestrictedLockUtils.hasBaseUserRestriction(mContext,
|
||||||
|
UserManager.DISALLOW_CONFIG_CELL_BROADCASTS, UserHandle.myUserId())) {
|
||||||
removePreference(KEY_CELL_BROADCAST_SETTINGS);
|
removePreference(KEY_CELL_BROADCAST_SETTINGS);
|
||||||
}
|
}
|
||||||
initRingtones();
|
initRingtones();
|
||||||
@@ -193,12 +195,15 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab
|
|||||||
|
|
||||||
final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(mContext,
|
final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(mContext,
|
||||||
UserManager.DISALLOW_ADJUST_VOLUME, UserHandle.myUserId());
|
UserManager.DISALLOW_ADJUST_VOLUME, UserHandle.myUserId());
|
||||||
|
final boolean hasBaseRestriction = RestrictedLockUtils.hasBaseUserRestriction(mContext,
|
||||||
|
UserManager.DISALLOW_ADJUST_VOLUME, UserHandle.myUserId());
|
||||||
for (String key : RESTRICTED_KEYS) {
|
for (String key : RESTRICTED_KEYS) {
|
||||||
Preference pref = findPreference(key);
|
Preference pref = findPreference(key);
|
||||||
if (pref instanceof RestrictedPreference) {
|
if (pref != null) {
|
||||||
|
pref.setEnabled(!hasBaseRestriction);
|
||||||
|
}
|
||||||
|
if (pref instanceof RestrictedPreference && !hasBaseRestriction) {
|
||||||
((RestrictedPreference) pref).setDisabledByAdmin(admin);
|
((RestrictedPreference) pref).setDisabledByAdmin(admin);
|
||||||
} else if (pref != null) {
|
|
||||||
pref.setEnabled(admin == null);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
RestrictedPreference broadcastSettingsPref = (RestrictedPreference) findPreference(
|
RestrictedPreference broadcastSettingsPref = (RestrictedPreference) findPreference(
|
||||||
|
@@ -767,7 +767,9 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check if Guest tile should be added.
|
// Check if Guest tile should be added.
|
||||||
if (!mUserCaps.mIsGuest && (mUserCaps.mCanAddGuest || mUserCaps.mDisallowAddUser)) {
|
if (!mUserCaps.mIsGuest && (mUserCaps.mCanAddGuest ||
|
||||||
|
mUserCaps.mDisallowAddUserSetByAdmin)) {
|
||||||
|
// Add a virtual Guest user for guest defaults
|
||||||
UserPreference pref = new UserPreference(getPrefContext(), null,
|
UserPreference pref = new UserPreference(getPrefContext(), null,
|
||||||
UserPreference.USERID_GUEST_DEFAULTS,
|
UserPreference.USERID_GUEST_DEFAULTS,
|
||||||
mUserCaps.mIsAdmin && voiceCapable? this : null /* settings icon handler */,
|
mUserCaps.mIsAdmin && voiceCapable? this : null /* settings icon handler */,
|
||||||
@@ -810,7 +812,7 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Append Add user to the end of the list
|
// Append Add user to the end of the list
|
||||||
if (mUserCaps.mCanAddUser || mUserCaps.mDisallowAddUser) {
|
if (mUserCaps.mCanAddUser || mUserCaps.mDisallowAddUserSetByAdmin) {
|
||||||
boolean moreUsers = mUserManager.canAddMoreUsers();
|
boolean moreUsers = mUserManager.canAddMoreUsers();
|
||||||
mAddUser.setOrder(Preference.DEFAULT_ORDER);
|
mAddUser.setOrder(Preference.DEFAULT_ORDER);
|
||||||
preferenceScreen.addPreference(mAddUser);
|
preferenceScreen.addPreference(mAddUser);
|
||||||
@@ -825,7 +827,8 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
mUserCaps.mDisallowAddUser ? mUserCaps.mEnforcedAdmin : null);
|
mUserCaps.mDisallowAddUser ? mUserCaps.mEnforcedAdmin : null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mUserCaps.mIsAdmin) {
|
if (mUserCaps.mIsAdmin &&
|
||||||
|
(!mUserCaps.mDisallowAddUser || mUserCaps.mDisallowAddUserSetByAdmin)) {
|
||||||
mLockScreenSettings.setOrder(Preference.DEFAULT_ORDER);
|
mLockScreenSettings.setOrder(Preference.DEFAULT_ORDER);
|
||||||
preferenceScreen.addPreference(mLockScreenSettings);
|
preferenceScreen.addPreference(mLockScreenSettings);
|
||||||
mAddUserWhenLocked.setChecked(Settings.Global.getInt(getContentResolver(),
|
mAddUserWhenLocked.setChecked(Settings.Global.getInt(getContentResolver(),
|
||||||
@@ -1006,6 +1009,7 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
boolean mIsGuest;
|
boolean mIsGuest;
|
||||||
boolean mCanAddGuest;
|
boolean mCanAddGuest;
|
||||||
boolean mDisallowAddUser;
|
boolean mDisallowAddUser;
|
||||||
|
boolean mDisallowAddUserSetByAdmin;
|
||||||
EnforcedAdmin mEnforcedAdmin;
|
EnforcedAdmin mEnforcedAdmin;
|
||||||
|
|
||||||
private UserCapabilities() {}
|
private UserCapabilities() {}
|
||||||
@@ -1023,7 +1027,12 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
caps.mIsAdmin = myUserInfo.isAdmin();
|
caps.mIsAdmin = myUserInfo.isAdmin();
|
||||||
caps.mEnforcedAdmin = RestrictedLockUtils.checkIfRestrictionEnforced(context,
|
caps.mEnforcedAdmin = RestrictedLockUtils.checkIfRestrictionEnforced(context,
|
||||||
UserManager.DISALLOW_ADD_USER, UserHandle.myUserId());
|
UserManager.DISALLOW_ADD_USER, UserHandle.myUserId());
|
||||||
caps.mDisallowAddUser = (caps.mEnforcedAdmin != null);
|
final boolean hasBaseUserRestriction = RestrictedLockUtils.hasBaseUserRestriction(
|
||||||
|
context, UserManager.DISALLOW_ADD_USER, UserHandle.myUserId());
|
||||||
|
caps.mDisallowAddUserSetByAdmin =
|
||||||
|
caps.mEnforcedAdmin != null && !hasBaseUserRestriction;
|
||||||
|
caps.mDisallowAddUser =
|
||||||
|
(caps.mEnforcedAdmin != null || hasBaseUserRestriction);
|
||||||
if (!caps.mIsAdmin || UserManager.getMaxSupportedUsers() < 2
|
if (!caps.mIsAdmin || UserManager.getMaxSupportedUsers() < 2
|
||||||
|| !UserManager.supportsMultipleUsers()
|
|| !UserManager.supportsMultipleUsers()
|
||||||
|| caps.mDisallowAddUser) {
|
|| caps.mDisallowAddUser) {
|
||||||
@@ -1103,7 +1112,7 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
data.screenTitle = res.getString(R.string.user_settings_title);
|
data.screenTitle = res.getString(R.string.user_settings_title);
|
||||||
result.add(data);
|
result.add(data);
|
||||||
|
|
||||||
if (userCaps.mCanAddUser || userCaps.mDisallowAddUser) {
|
if (userCaps.mCanAddUser || userCaps.mDisallowAddUserSetByAdmin) {
|
||||||
data = new SearchIndexableRaw(context);
|
data = new SearchIndexableRaw(context);
|
||||||
data.title = res.getString(userCaps.mCanAddRestrictedProfile ?
|
data.title = res.getString(userCaps.mCanAddRestrictedProfile ?
|
||||||
R.string.user_add_user_or_profile_menu
|
R.string.user_add_user_or_profile_menu
|
||||||
|
Reference in New Issue
Block a user