diff options
author | Danesh Mondegarian <daneshm90@gmail.com> | 2013-07-03 10:49:27 -0700 |
---|---|---|
committer | Danny Baumann <dannybaumann@web.de> | 2013-07-03 20:07:05 +0200 |
commit | 46fd251a140cc2e571fda16c4181bef9d2804c07 (patch) | |
tree | d26d95a5469ffdd26b627ca5ddc9ffaca4fe5974 /src/com/android | |
parent | 649eda098b87ba4e1ce8834405c044e78a76a12b (diff) | |
download | packages_apps_Settings-46fd251a140cc2e571fda16c4181bef9d2804c07.zip packages_apps_Settings-46fd251a140cc2e571fda16c4181bef9d2804c07.tar.gz packages_apps_Settings-46fd251a140cc2e571fda16c4181bef9d2804c07.tar.bz2 |
Lockscreen Options : Fix toggling of states
Every time we set ourselves as the active admin, the previous states are reset.
Hence set both camera/widget states each time one of them is changed.
Change-Id: I678a8155a04ef3822b49bcfb997a248ea99c128c
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/settings/cyanogenmod/LockscreenInterface.java | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/com/android/settings/cyanogenmod/LockscreenInterface.java b/src/com/android/settings/cyanogenmod/LockscreenInterface.java index 806a342..74ca91a 100644 --- a/src/com/android/settings/cyanogenmod/LockscreenInterface.java +++ b/src/com/android/settings/cyanogenmod/LockscreenInterface.java @@ -84,7 +84,6 @@ public class LockscreenInterface extends SettingsPreferenceFragment implements private File mWallpaperImage; private File mWallpaperTemporary; private DevicePolicyManager mDPM; - private ComponentName mDpmAdminName; private boolean mIsPrimary; @@ -143,7 +142,6 @@ public class LockscreenInterface extends SettingsPreferenceFragment implements mEnableCamera.setOnPreferenceChangeListener(this); mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); - mDpmAdminName = new ComponentName(getActivity(), DeviceAdminLockscreenReceiver.class); boolean widgetsEnabled = mDPM.getKeyguardDisabledFeatures(null) == 0; mEnableWidgets.setChecked(widgetsEnabled); @@ -244,22 +242,26 @@ public class LockscreenInterface extends SettingsPreferenceFragment implements int selection = mCustomBackground.findIndexOfValue(objValue.toString()); return handleBackgroundSelection(selection); } else if (preference == mEnableCamera) { - boolean value = (Boolean) objValue; - mDPM.setActiveAdmin(mDpmAdminName, true); - mDPM.setCameraDisabled(mDpmAdminName, !value); + updateKeyguardState((Boolean) objValue, mEnableWidgets.isChecked()); return true; } else if (preference == mEnableWidgets) { - boolean value = (Boolean) objValue; - mDPM.setActiveAdmin(mDpmAdminName, true); - mDPM.setKeyguardDisabledFeatures(mDpmAdminName, value - ? DevicePolicyManager.KEYGUARD_DISABLE_FEATURES_NONE - : DevicePolicyManager.KEYGUARD_DISABLE_WIDGETS_ALL); + updateKeyguardState(mEnableCamera.isChecked(), (Boolean) objValue); return true; } return false; } + private void updateKeyguardState(boolean enableCamera, boolean enableWidgets) { + ComponentName dpmAdminName = new ComponentName(getActivity(), + DeviceAdminLockscreenReceiver.class); + mDPM.setActiveAdmin(dpmAdminName, true); + mDPM.setKeyguardDisabledFeatures(dpmAdminName, enableWidgets + ? DevicePolicyManager.KEYGUARD_DISABLE_FEATURES_NONE + : DevicePolicyManager.KEYGUARD_DISABLE_WIDGETS_ALL); + mDPM.setCameraDisabled(dpmAdminName, !enableCamera); + } + private boolean handleBackgroundSelection(int selection) { if (selection == LOCKSCREEN_BACKGROUND_COLOR_FILL) { final ColorPickerView colorView = new ColorPickerView(getActivity()); |