summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2012-06-12 15:32:52 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-06-12 15:32:52 -0700
commit4ce87f0c886756aa9569d804e89074f9353ff7dc (patch)
tree43036e6f9936ea7c078ee139ce64ed59dd817f39 /src/com/android
parentb120c17170655c91051b3e18123011666593d731 (diff)
parenta65891347556b4d14f6dad829017513b984d20c1 (diff)
downloadpackages_apps_Settings-4ce87f0c886756aa9569d804e89074f9353ff7dc.zip
packages_apps_Settings-4ce87f0c886756aa9569d804e89074f9353ff7dc.tar.gz
packages_apps_Settings-4ce87f0c886756aa9569d804e89074f9353ff7dc.tar.bz2
am a6589134: Merge "resolved conflicts for merge of 051f46d7 to jb-dev-plus-aosp" into jb-dev-plus-aosp
* commit 'a65891347556b4d14f6dad829017513b984d20c1': Unregister ContentObserver in InputMethodAndLanguageSettings class
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index bc8b458..9624c4a 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -225,6 +225,7 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment
super.onResume();
mIm.registerInputDeviceListener(this, null);
+ mSettingsObserver.resume();
if (!mIsOnlyImeSettings) {
if (mLanguagePref != null) {
@@ -264,6 +265,7 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment
public void onPause() {
super.onPause();
+ mSettingsObserver.pause();
mIm.unregisterInputDeviceListener(this);
if (SHOW_INPUT_METHOD_SWITCHER_SETTINGS) {
@@ -509,17 +511,27 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment
}
private class SettingsObserver extends ContentObserver {
+ private Context mContext;
+
public SettingsObserver(Handler handler, Context context) {
super(handler);
- final ContentResolver cr = context.getContentResolver();
+ mContext = context;
+ }
+
+ @Override public void onChange(boolean selfChange) {
+ updateCurrentImeName();
+ }
+
+ public void resume() {
+ final ContentResolver cr = mContext.getContentResolver();
cr.registerContentObserver(
Settings.Secure.getUriFor(Settings.Secure.DEFAULT_INPUT_METHOD), false, this);
cr.registerContentObserver(Settings.Secure.getUriFor(
Settings.Secure.SELECTED_INPUT_METHOD_SUBTYPE), false, this);
}
- @Override public void onChange(boolean selfChange) {
- updateCurrentImeName();
+ public void pause() {
+ mContext.getContentResolver().unregisterContentObserver(this);
}
}
}