From a9f4b19ca409f55a88f7dbe0e8b1c17a37717ac7 Mon Sep 17 00:00:00 2001 From: Amith Yamasani <yamasani@google.com> Date: Sun, 21 Feb 2010 15:59:15 -0800 Subject: [PATCH] Switch keyboards when configuration changes. Bug 2432435 --- src/com/android/inputmethod/latin/LatinIME.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/com/android/inputmethod/latin/LatinIME.java b/src/com/android/inputmethod/latin/LatinIME.java index 0f91c3b655..bcd190bfd0 100644 --- a/src/com/android/inputmethod/latin/LatinIME.java +++ b/src/com/android/inputmethod/latin/LatinIME.java @@ -360,8 +360,18 @@ public class LatinIME extends InputMethodService @Override public void onConfigurationChanged(Configuration conf) { + // If the system locale changes and is different from the saved + // locale (mLocale), then reload the input locale list from the + // latin ime settings (shared prefs) and reset the input locale + // to the first one. if (!TextUtils.equals(conf.locale.toString(), mLocale)) { - initSuggest(conf.locale.toString()); + if (mLanguageSwitcher != null) { + mLanguageSwitcher.loadLocales( + PreferenceManager.getDefaultSharedPreferences(this)); + toggleLanguage(true, true); + } else { + reloadKeyboards(); + } } // If orientation changed while predicting, commit the change if (conf.orientation != mOrientation) { @@ -369,8 +379,8 @@ public class LatinIME extends InputMethodService commitTyped(ic); if (ic != null) ic.finishComposingText(); // For voice input mOrientation = conf.orientation; + reloadKeyboards(); } - reloadKeyboards(); super.onConfigurationChanged(conf); } -- GitLab