Part2 - Don't add padlock if the restriction is not set by admin.

Bug: 26687435
Change-Id: I85ef42e1ff1216791d1393a975e8559191b3781f
This commit is contained in:
Sudheer Shanka
2016-02-11 17:17:21 +00:00
parent ab1a97c307
commit 29737ad910
2 changed files with 23 additions and 9 deletions

View File

@@ -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(

View File

@@ -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