aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java11
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java26
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java11
3 files changed, 16 insertions, 32 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
index b31358f3c..47e9142e2 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
@@ -276,9 +276,9 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
params.mThemeId = keyboardAttr.getInt(R.styleable.Keyboard_themeId, 0);
params.mIconsSet.loadIcons(keyboardAttr);
- final String language = params.mId.mLocale.getLanguage();
- params.mCodesSet.setLanguage(language);
- params.mTextsSet.setLanguage(language);
+ final Locale locale = params.mId.mLocale;
+ params.mCodesSet.setLocale(locale);
+ params.mTextsSet.setLocale(locale);
final RunInLocale<Void> job = new RunInLocale<Void>() {
@Override
protected Void job(final Resources res) {
@@ -287,9 +287,8 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
}
};
// Null means the current system locale.
- final Locale locale = SubtypeLocaleUtils.isNoLanguage(params.mId.mSubtype)
- ? null : params.mId.mLocale;
- job.runInLocale(mResources, locale);
+ job.runInLocale(mResources,
+ SubtypeLocaleUtils.isNoLanguage(params.mId.mSubtype) ? null : locale);
final int resourceId = keyboardAttr.getResourceId(
R.styleable.Keyboard_touchPositionCorrectionData, 0);
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java
index aeb4db557..9f873ed9c 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java
@@ -18,20 +18,20 @@ package com.android.inputmethod.keyboard.internal;
import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.utils.CollectionUtils;
+import com.android.inputmethod.latin.utils.SubtypeLocaleUtils;
import java.util.HashMap;
+import java.util.Locale;
public final class KeyboardCodesSet {
public static final String PREFIX_CODE = "!code/";
- private static final HashMap<String, int[]> sLanguageToCodesMap = CollectionUtils.newHashMap();
private static final HashMap<String, Integer> sNameToIdMap = CollectionUtils.newHashMap();
private int[] mCodes = DEFAULT;
- public void setLanguage(final String language) {
- final int[] codes = sLanguageToCodesMap.get(language);
- mCodes = (codes != null) ? codes : DEFAULT;
+ public void setLocale(final Locale locale) {
+ mCodes = SubtypeLocaleUtils.isRtlLanguage(locale) ? RTL : DEFAULT;
}
public int getCode(final String name) {
@@ -134,18 +134,6 @@ public final class KeyboardCodesSet {
CODE_LEFT_CURLY_BRACKET,
};
- private static final String LANGUAGE_DEFAULT = "DEFAULT";
- private static final String LANGUAGE_ARABIC = "ar";
- private static final String LANGUAGE_PERSIAN = "fa";
- private static final String LANGUAGE_HEBREW = "iw";
-
- private static final Object[] LANGUAGE_AND_CODES = {
- LANGUAGE_DEFAULT, DEFAULT,
- LANGUAGE_ARABIC, RTL,
- LANGUAGE_PERSIAN, RTL,
- LANGUAGE_HEBREW, RTL,
- };
-
static {
if (DEFAULT.length != RTL.length || DEFAULT.length != ID_TO_NAME.length) {
throw new RuntimeException("Internal inconsistency");
@@ -153,11 +141,5 @@ public final class KeyboardCodesSet {
for (int i = 0; i < ID_TO_NAME.length; i++) {
sNameToIdMap.put(ID_TO_NAME[i], i);
}
-
- for (int i = 0; i < LANGUAGE_AND_CODES.length; i += 2) {
- final String language = (String)LANGUAGE_AND_CODES[i];
- final int[] codes = (int[])LANGUAGE_AND_CODES[i + 1];
- sLanguageToCodesMap.put(language, codes);
- }
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
index f9f183eb5..4322345cb 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
@@ -25,6 +25,7 @@ import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.utils.CollectionUtils;
import java.util.HashMap;
+import java.util.Locale;
/**
* !!!!! DO NOT EDIT THIS FILE !!!!!
@@ -52,15 +53,17 @@ public final class KeyboardTextsSet {
private static final int MAX_STRING_REFERENCE_INDIRECTION = 10;
// Language to texts map.
- private static final HashMap<String, String[]> sLocaleToTextsMap = CollectionUtils.newHashMap();
+ private static final HashMap<String, String[]> sLanguageToTextsMap =
+ CollectionUtils.newHashMap();
private static final HashMap<String, Integer> sNameToIdsMap = CollectionUtils.newHashMap();
private String[] mTexts;
// Resource name to text map.
private HashMap<String, String> mResourceNameToTextsMap = CollectionUtils.newHashMap();
- public void setLanguage(final String language) {
- mTexts = sLocaleToTextsMap.get(language);
+ public void setLocale(final Locale locale) {
+ final String language = locale.getLanguage();
+ mTexts = sLanguageToTextsMap.get(language);
if (mTexts == null) {
mTexts = LANGUAGE_DEFAULT;
}
@@ -3647,7 +3650,7 @@ public final class KeyboardTextsSet {
for (int i = 0; i < LANGUAGES_AND_TEXTS.length; i += 2) {
final String language = (String)LANGUAGES_AND_TEXTS[i];
final String[] texts = (String[])LANGUAGES_AND_TEXTS[i + 1];
- sLocaleToTextsMap.put(language, texts);
+ sLanguageToTextsMap.put(language, texts);
}
}
}