summaryrefslogtreecommitdiff
path: root/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-10-06 21:27:16 +0900
committerJean Chalard <jchalard@google.com>2014-10-06 21:27:32 +0900
commitbc051a561f1766e5cea2866468c769f5cb346ffb (patch)
tree1c3072d7735a26eaf0f21caaf369ffb3376f6af7 /java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
parent82065e36ec07e5ca18831a7428bc9b0c021fc47d (diff)
[ML14] Forward the locale list to relevant places, again
Diff: +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java @@ -735,7 +735,7 @@ public class KeyboardBuilder<KP extends KeyboardParams> { private boolean matchLocaleCodes(TypedArray caseAttr, final Locale[] locales) { // TODO: adujst this for multilingual input - return matchString(caseAttr, R.styleable.Keyboard_Case_languageCode, locales[0].toString()); + return matchString(caseAttr, R.styleable.Keyboard_Case_localeCode, locales[0].toString()); } private boolean matchLanguageCodes(TypedArray caseAttr, Locale[] locales) { Change-Id: Icefac18dd6d5fea97f591177cf8df1ba6de7f4f0
Diffstat (limited to 'java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java')
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java31
1 files changed, 24 insertions, 7 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
index 50385555c..f4e010c4d 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
@@ -45,6 +45,7 @@ import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import java.util.Arrays;
+import java.util.Locale;
/**
* Keyboard Building helper.
@@ -281,7 +282,8 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
params.mThemeId = keyboardAttr.getInt(R.styleable.Keyboard_themeId, 0);
params.mIconsSet.loadIcons(keyboardAttr);
- params.mTextsSet.setLocale(params.mId.mLocale, mContext);
+ // TODO: this needs to be revisited for multi-lingual input.
+ params.mTextsSet.setLocale(params.mId.getLocales()[0], mContext);
final int resourceId = keyboardAttr.getResourceId(
R.styleable.Keyboard_touchPositionCorrectionData, 0);
@@ -672,12 +674,10 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
R.styleable.Keyboard_Case_imeAction, id.imeAction());
final boolean isIconDefinedMatched = isIconDefined(caseAttr,
R.styleable.Keyboard_Case_isIconDefined, mParams.mIconsSet);
- final boolean localeCodeMatched = matchString(caseAttr,
- R.styleable.Keyboard_Case_localeCode, id.mLocale.toString());
- final boolean languageCodeMatched = matchString(caseAttr,
- R.styleable.Keyboard_Case_languageCode, id.mLocale.getLanguage());
- final boolean countryCodeMatched = matchString(caseAttr,
- R.styleable.Keyboard_Case_countryCode, id.mLocale.getCountry());
+ final Locale[] locales = id.getLocales();
+ final boolean localeCodeMatched = matchLocaleCodes(caseAttr, locales);
+ final boolean languageCodeMatched = matchLanguageCodes(caseAttr, locales);
+ final boolean countryCodeMatched = matchCountryCodes(caseAttr, locales);
final boolean splitLayoutMatched = matchBoolean(caseAttr,
R.styleable.Keyboard_Case_isSplitLayout, id.mIsSplitLayout);
final boolean selected = keyboardLayoutSetMatched && keyboardLayoutSetElementMatched
@@ -733,6 +733,23 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
}
}
+ private boolean matchLocaleCodes(TypedArray caseAttr, final Locale[] locales) {
+ // TODO: adujst this for multilingual input
+ return matchString(caseAttr, R.styleable.Keyboard_Case_localeCode, locales[0].toString());
+ }
+
+ private boolean matchLanguageCodes(TypedArray caseAttr, Locale[] locales) {
+ // TODO: adujst this for multilingual input
+ return matchString(caseAttr, R.styleable.Keyboard_Case_languageCode,
+ locales[0].getLanguage());
+ }
+
+ private boolean matchCountryCodes(TypedArray caseAttr, Locale[] locales) {
+ // TODO: adujst this for multilingual input
+ return matchString(caseAttr, R.styleable.Keyboard_Case_countryCode,
+ locales[0].getCountry());
+ }
+
private static boolean matchInteger(final TypedArray a, final int index, final int value) {
// If <case> does not have "index" attribute, that means this <case> is wild-card for
// the attribute.