diff options
author | 2011-04-14 13:47:25 +0900 | |
---|---|---|
committer | 2011-04-14 13:47:25 +0900 | |
commit | 7c06332be25535ed8182a348ba8e5535870f9f29 (patch) | |
tree | abc102c49ff46d21cff1d8001f9d51032d80025b /java/src/com/android/inputmethod/deprecated/LanguageSwitcherProxy.java | |
parent | d05c6e88347c9129dabe40eebf785c4758d0816c (diff) | |
parent | 6d9021527a38ba1e94225020389621a0d7227aa1 (diff) | |
download | latinime-7c06332be25535ed8182a348ba8e5535870f9f29.tar.gz latinime-7c06332be25535ed8182a348ba8e5535870f9f29.tar.xz latinime-7c06332be25535ed8182a348ba8e5535870f9f29.zip |
Merge remote-tracking branch 'goog/master' into merge
Conflicts:
java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java
Change-Id: Iba0f2202bc2561f29b850dc22e9de52f84943a9c
Diffstat (limited to 'java/src/com/android/inputmethod/deprecated/LanguageSwitcherProxy.java')
-rw-r--r-- | java/src/com/android/inputmethod/deprecated/LanguageSwitcherProxy.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/deprecated/LanguageSwitcherProxy.java b/java/src/com/android/inputmethod/deprecated/LanguageSwitcherProxy.java index 5d165cda9..73f0b7a2d 100644 --- a/java/src/com/android/inputmethod/deprecated/LanguageSwitcherProxy.java +++ b/java/src/com/android/inputmethod/deprecated/LanguageSwitcherProxy.java @@ -19,6 +19,7 @@ package com.android.inputmethod.deprecated; import com.android.inputmethod.compat.InputMethodManagerCompatWrapper; import com.android.inputmethod.deprecated.languageswitcher.LanguageSwitcher; import com.android.inputmethod.latin.LatinIME; +import com.android.inputmethod.latin.Settings; import android.content.SharedPreferences; import android.content.res.Configuration; @@ -26,7 +27,7 @@ import android.content.res.Configuration; import java.util.Locale; // This class is used only when the IME doesn't use method.xml for language switching. -public class LanguageSwitcherProxy { +public class LanguageSwitcherProxy implements SharedPreferences.OnSharedPreferenceChangeListener { private static final LanguageSwitcherProxy sInstance = new LanguageSwitcherProxy(); private LanguageSwitcher mLanguageSwitcher; private SharedPreferences mPrefs; @@ -42,6 +43,7 @@ public class LanguageSwitcherProxy { sInstance.mLanguageSwitcher = new LanguageSwitcher(service); sInstance.mLanguageSwitcher.loadLocales(prefs, conf.locale); sInstance.mPrefs = prefs; + prefs.registerOnSharedPreferenceChangeListener(sInstance); } public static void onConfigurationChanged(Configuration conf) { @@ -58,8 +60,8 @@ public class LanguageSwitcherProxy { return mLanguageSwitcher.getLocaleCount(); } - public String[] getEnabledLanguages() { - return mLanguageSwitcher.getEnabledLanguages(); + public String[] getEnabledLanguages(boolean allowImplicitlySelectedLanguages) { + return mLanguageSwitcher.getEnabledLanguages(allowImplicitlySelectedLanguages); } public Locale getInputLocale() { @@ -70,4 +72,14 @@ public class LanguageSwitcherProxy { mLanguageSwitcher.setLocale(localeStr); mLanguageSwitcher.persist(mPrefs); } + + @Override + public void onSharedPreferenceChanged(SharedPreferences prefs, String key) { + // PREF_SELECTED_LANGUAGES: enabled input subtypes + // PREF_INPUT_LANGUAGE: current input subtype + if (key.equals(Settings.PREF_SELECTED_LANGUAGES) + || key.equals(Settings.PREF_INPUT_LANGUAGE)) { + mLanguageSwitcher.loadLocales(prefs, null); + } + } } |