diff options
| author | Jean Chalard <jchalard@google.com> | 2014-10-06 21:27:16 +0900 |
|---|---|---|
| committer | Jean Chalard <jchalard@google.com> | 2014-10-06 21:27:32 +0900 |
| commit | bc051a561f1766e5cea2866468c769f5cb346ffb (patch) | |
| tree | 1c3072d7735a26eaf0f21caaf369ffb3376f6af7 /java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java | |
| parent | 82065e36ec07e5ca18831a7428bc9b0c021fc47d (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.java | 31 |
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. |
