diff options
author | Sudheer Shanka <sudheersai@google.com> | 2016-01-13 19:57:11 +0000 |
---|---|---|
committer | Sudheer Shanka <sudheersai@google.com> | 2016-01-14 16:25:56 +0000 |
commit | ea088af5c12e25995a3992413c8f413abc22eeab (patch) | |
tree | 7005609c93ea4429d7bc2c158dc13042115f3ae1 /packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java | |
parent | 0c57596905977e7243a9e4bae9dbf7a18742ec54 (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.java | 9 |
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(); |