summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/SecuritySettings.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/SecuritySettings.java')
-rw-r--r--src/com/android/settings/SecuritySettings.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 287e312..dacc19f 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -106,6 +106,8 @@ public class SecuritySettings extends SettingsPreferenceFragment
private LockPatternUtils mLockPatternUtils;
private ListPreference mLockAfter;
+ private SettingsObserver mSettingsObserver;
+
private final class SettingsObserver implements Observer {
public void update(Observable o, Object arg) {
updateToggles();
@@ -125,14 +127,24 @@ public class SecuritySettings extends SettingsPreferenceFragment
createPreferenceHierarchy();
updateToggles();
+ }
+ @Override
+ public void onStart() {
+ super.onStart();
// listen for Location Manager settings changes
Cursor settingsCursor = getContentResolver().query(Settings.Secure.CONTENT_URI, null,
"(" + Settings.System.NAME + "=?)",
new String[]{Settings.Secure.LOCATION_PROVIDERS_ALLOWED},
null);
mContentQueryMap = new ContentQueryMap(settingsCursor, Settings.System.NAME, true, null);
- mContentQueryMap.addObserver(new SettingsObserver());
+ mContentQueryMap.addObserver(mSettingsObserver = new SettingsObserver());
+ }
+
+ @Override
+ public void onStop() {
+ super.onStop();
+ mContentQueryMap.deleteObserver(mSettingsObserver);
}
private PreferenceScreen createPreferenceHierarchy() {