aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/LanguageSwitcher.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/com/android/inputmethod/latin/LanguageSwitcher.java')
-rw-r--r--java/src/com/android/inputmethod/latin/LanguageSwitcher.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/LanguageSwitcher.java b/java/src/com/android/inputmethod/latin/LanguageSwitcher.java
index 12045125f..578c80526 100644
--- a/java/src/com/android/inputmethod/latin/LanguageSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/LanguageSwitcher.java
@@ -36,6 +36,7 @@ public class LanguageSwitcher {
private int mCurrentIndex = 0;
private String mDefaultInputLanguage;
private Locale mDefaultInputLocale;
+ private Locale mSystemLocale;
public LanguageSwitcher(LatinIME ime) {
mIme = ime;
@@ -97,7 +98,9 @@ public class LanguageSwitcher {
private void constructLocales() {
mLocales = new Locale[mSelectedLanguageArray.length];
for (int i = 0; i < mLocales.length; i++) {
- mLocales[i] = new Locale(mSelectedLanguageArray[i]);
+ final String lang = mSelectedLanguageArray[i];
+ mLocales[i] = new Locale(lang.substring(0, 2),
+ lang.length() > 4 ? lang.substring(3, 5) : "");
}
}
@@ -141,6 +144,22 @@ public class LanguageSwitcher {
}
/**
+ * Sets the system locale (display UI) used for comparing with the input language.
+ * @param locale the locale of the system
+ */
+ public void setSystemLocale(Locale locale) {
+ mSystemLocale = locale;
+ }
+
+ /**
+ * Returns the system locale.
+ * @return the system locale
+ */
+ public Locale getSystemLocale() {
+ return mSystemLocale;
+ }
+
+ /**
* Returns the previous input locale in the list. Wraps around to the end of the
* list if we're at the beginning of the list.
* @return