diff options
author | Jean-Baptiste Queru <jbq@google.com> | 2012-06-12 15:32:52 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-06-12 15:32:52 -0700 |
commit | 4ce87f0c886756aa9569d804e89074f9353ff7dc (patch) | |
tree | 43036e6f9936ea7c078ee139ce64ed59dd817f39 /src/com/android | |
parent | b120c17170655c91051b3e18123011666593d731 (diff) | |
parent | a65891347556b4d14f6dad829017513b984d20c1 (diff) | |
download | packages_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.java | 18 |
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); } } } |