aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorsatok <satok@google.com>2011-04-18 19:29:46 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-04-18 19:29:46 -0700
commite0f35042a5a3b7855b00a34f2d02fd593aa5a1dd (patch)
tree637c6ae175de633f1c2ba92ed1fe23eda472bf1a /java/src
parent7751ac3bdb852a6cef6a5c4ccb529d7bca126de5 (diff)
parent88808fcdd41c901072f3d224fa109182b26af22d (diff)
downloadlatinime-e0f35042a5a3b7855b00a34f2d02fd593aa5a1dd.tar.gz
latinime-e0f35042a5a3b7855b00a34f2d02fd593aa5a1dd.tar.xz
latinime-e0f35042a5a3b7855b00a34f2d02fd593aa5a1dd.zip
Merge "Show all languages supported in LatinImeGoogle in InputLanguageSelection"
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/InputLanguageSelection.java54
1 files changed, 30 insertions, 24 deletions
diff --git a/java/src/com/android/inputmethod/latin/InputLanguageSelection.java b/java/src/com/android/inputmethod/latin/InputLanguageSelection.java
index be5e015aa..40ab28c98 100644
--- a/java/src/com/android/inputmethod/latin/InputLanguageSelection.java
+++ b/java/src/com/android/inputmethod/latin/InputLanguageSelection.java
@@ -162,36 +162,42 @@ public class InputLanguageSelection extends PreferenceActivity {
for (int i = 0 ; i < origSize; i++ ) {
String s = locales[i];
int len = s.length();
+ String language = "";
+ String country = "";
if (len == 5) {
- String language = s.substring(0, 2);
- String country = s.substring(3, 5);
- Locale l = new Locale(language, country);
+ language = s.substring(0, 2);
+ country = s.substring(3, 5);
+ } else if (len < 5) {
+ language = s;
+ }
+ Locale l = new Locale(language, country);
- // Exclude languages that are not relevant to LatinIME
- if (arrayContains(BLACKLIST_LANGUAGES, language)) continue;
+ // Exclude languages that are not relevant to LatinIME
+ if (arrayContains(BLACKLIST_LANGUAGES, language) || TextUtils.isEmpty(language)) {
+ continue;
+ }
- if (finalSize == 0) {
+ if (finalSize == 0) {
+ preprocess[finalSize++] =
+ new Loc(SubtypeSwitcher.getFullDisplayName(l, true), l);
+ } else {
+ // check previous entry:
+ // same lang and a country -> upgrade to full name and
+ // insert ours with full name
+ // diff lang -> insert ours with lang-only name
+ if (preprocess[finalSize-1].mLocale.getLanguage().equals(
+ language)) {
+ preprocess[finalSize-1].setLabel(SubtypeSwitcher.getFullDisplayName(
+ preprocess[finalSize-1].mLocale, false));
preprocess[finalSize++] =
- new Loc(SubtypeSwitcher.getFullDisplayName(l, true), l);
+ new Loc(SubtypeSwitcher.getFullDisplayName(l, false), l);
} else {
- // check previous entry:
- // same lang and a country -> upgrade to full name and
- // insert ours with full name
- // diff lang -> insert ours with lang-only name
- if (preprocess[finalSize-1].mLocale.getLanguage().equals(
- language)) {
- preprocess[finalSize-1].setLabel(SubtypeSwitcher.getFullDisplayName(
- preprocess[finalSize-1].mLocale, false));
- preprocess[finalSize++] =
- new Loc(SubtypeSwitcher.getFullDisplayName(l, false), l);
+ String displayName;
+ if (s.equals("zz_ZZ")) {
+ // ignore this locale
} else {
- String displayName;
- if (s.equals("zz_ZZ")) {
- // ignore this locale
- } else {
- displayName = SubtypeSwitcher.getFullDisplayName(l, true);
- preprocess[finalSize++] = new Loc(displayName, l);
- }
+ displayName = SubtypeSwitcher.getFullDisplayName(l, true);
+ preprocess[finalSize++] = new Loc(displayName, l);
}
}
}