aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/deprecated/LanguageSwitcherProxy.java
diff options
context:
space:
mode:
authorsatok <satok@google.com>2011-04-14 13:47:25 +0900
committersatok <satok@google.com>2011-04-14 13:47:25 +0900
commit7c06332be25535ed8182a348ba8e5535870f9f29 (patch)
treeabc102c49ff46d21cff1d8001f9d51032d80025b /java/src/com/android/inputmethod/deprecated/LanguageSwitcherProxy.java
parentd05c6e88347c9129dabe40eebf785c4758d0816c (diff)
parent6d9021527a38ba1e94225020389621a0d7227aa1 (diff)
downloadlatinime-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.java18
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);
+ }
+ }
}