Merge "Unregister ContentObserver in InputMethodAndLanguageSettings class"
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index 4454389..aa2bcf4 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -172,6 +172,7 @@
     @Override
     public void onResume() {
         super.onResume();
+        mSettingsObserver.resume();
         if (!mIsOnlyImeSettings) {
             if (mLanguagePref != null) {
                 Configuration conf = getResources().getConfiguration();
@@ -207,6 +208,7 @@
     @Override
     public void onPause() {
         super.onPause();
+        mSettingsObserver.pause();
         if (SHOW_INPUT_METHOD_SWITCHER_SETTINGS) {
             mShowInputMethodSelectorPref.setOnPreferenceChangeListener(null);
         }
@@ -359,17 +361,27 @@
     }
 
     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);
         }
     }
 }