summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDanesh Mondegarian <daneshm90@gmail.com>2013-07-03 10:49:27 -0700
committerDanny Baumann <dannybaumann@web.de>2013-07-03 20:07:05 +0200
commit46fd251a140cc2e571fda16c4181bef9d2804c07 (patch)
treed26d95a5469ffdd26b627ca5ddc9ffaca4fe5974 /src
parent649eda098b87ba4e1ce8834405c044e78a76a12b (diff)
downloadpackages_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')
-rw-r--r--src/com/android/settings/cyanogenmod/LockscreenInterface.java22
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());