diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/settings/LanguageSettings.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/com/android/settings/LanguageSettings.java b/src/com/android/settings/LanguageSettings.java index 4d1f994..91d260c 100644 --- a/src/com/android/settings/LanguageSettings.java +++ b/src/com/android/settings/LanguageSettings.java @@ -180,7 +180,8 @@ public class LanguageSettings extends PreferenceActivity { super.onPause(); StringBuilder builder = new StringBuilder(256); - + StringBuilder disabledSysImes = new StringBuilder(256); + int firstEnabled = -1; int N = mInputMethodProperties.size(); for (int i = 0; i < N; ++i) { @@ -199,6 +200,12 @@ public class LanguageSettings extends PreferenceActivity { } else if (hasIt) { mLastInputMethodId = mLastTickedInputMethodId; } + // If it's a disabled system ime, add it to the disabled list so that it + // doesn't get enabled automatically on any changes to the package list + if (pref != null && !pref.isChecked() && systemIme && mHaveHardKeyboard) { + if (disabledSysImes.length() > 0) disabledSysImes.append(":"); + disabledSysImes.append(id); + } } // If the last input method is unset, set it as the first enabled one. @@ -213,6 +220,8 @@ public class LanguageSettings extends PreferenceActivity { Settings.Secure.putString(getContentResolver(), Settings.Secure.ENABLED_INPUT_METHODS, builder.toString()); Settings.Secure.putString(getContentResolver(), + Settings.Secure.DISABLED_SYSTEM_INPUT_METHODS, disabledSysImes.toString()); + Settings.Secure.putString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD, mLastInputMethodId != null ? mLastInputMethodId : ""); } |