summaryrefslogtreecommitdiff
path: root/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java
diff options
context:
space:
mode:
authorSudheer Shanka <sudheersai@google.com>2016-01-13 19:57:11 +0000
committerSudheer Shanka <sudheersai@google.com>2016-01-14 16:25:56 +0000
commitea088af5c12e25995a3992413c8f413abc22eeab (patch)
tree7005609c93ea4429d7bc2c158dc13042115f3ae1 /packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java
parent0c57596905977e7243a9e4bae9dbf7a18742ec54 (diff)
Made changes to padlock support for preferences.
- Currently, if a preference is disabled by admin, we add a padlock and disable the preference. And now if the preference is enabled in some other place, the padlock is not removed. Updated RestrictedPreference to fix this behavior. - Made RestrictedPreferenceHelper and RestrictedPreferenceHelper.onAttachedToHierarchy public so that preferences in Settings can use these. - Put a check for null to avoid NullPointerException. - Removed a redundant statement. Change-Id: Ie88a761dc38c58a680c62b3703d2081c67462079
Diffstat (limited to 'packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java')
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java
index 308477b0c84b..84e2bff4fc40 100644
--- a/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java
+++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java
@@ -79,6 +79,15 @@ public class RestrictedSwitchPreference extends SwitchPreference {
mHelper.checkRestrictionAndSetDisabled(userRestriction, userId);
}
+ @Override
+ public void setEnabled(boolean enabled) {
+ if (enabled && isDisabledByAdmin()) {
+ mHelper.setDisabledByAdmin(null);
+ return;
+ }
+ super.setEnabled(enabled);
+ }
+
public void setDisabledByAdmin(EnforcedAdmin admin) {
if (mHelper.setDisabledByAdmin(admin)) {
notifyChanged();