Merge "Import translations. DO NOT MERGE" into klp-dev
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index 1e4c8b1..3a94865 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -292,10 +292,6 @@
         // Refresh internal states in mInputMethodSettingValues to keep the latest
         // "InputMethodInfo"s and "InputMethodSubtype"s
         mInputMethodSettingValues.refreshAllInputMethodAndSubtypes();
-        // TODO: Consolidate the logic to InputMethodSettingsWrapper
-        InputMethodAndSubtypeUtil.loadInputMethodSubtypeList(
-                this, getContentResolver(),
-                mInputMethodSettingValues.getInputMethodList(), null);
         updateInputMethodPreferenceViews();
     }
 
@@ -437,6 +433,13 @@
             }
         }
         updateCurrentImeName();
+        // TODO: Consolidate the logic with InputMethodSettingsWrapper
+        // CAVEAT: The preference class here does not know about the default value - that is
+        // managed by the Input Method Manager Service, so in this case it could save the wrong
+        // value. Hence we must update the checkboxes here.
+        InputMethodAndSubtypeUtil.loadInputMethodSubtypeList(
+                this, getContentResolver(),
+                mInputMethodSettingValues.getInputMethodList(), null);
     }
 
     private void updateCurrentImeName() {