diff options
author | 2012-04-10 15:05:55 +0900 | |
---|---|---|
committer | 2012-04-10 15:09:26 +0900 | |
commit | 8834e3dbce5db35e6e3d43f9a567458ad4999b6d (patch) | |
tree | 90b0394d5b5901c8c9391ce92593726dc3cba3a0 /java/src | |
parent | 7f0c503afc9a130da73503e97108d2ca5ae328ad (diff) | |
download | latinime-8834e3dbce5db35e6e3d43f9a567458ad4999b6d.tar.gz latinime-8834e3dbce5db35e6e3d43f9a567458ad4999b6d.tar.xz latinime-8834e3dbce5db35e6e3d43f9a567458ad4999b6d.zip |
Fix KeyboardCodesSet code mapping
This is a follow up for Icfd6d06f.
Change-Id: I9a11c6f1c8d9654e3fb004940791055c2bcf9f17
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/Keyboard.java | 2 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java | 25 |
2 files changed, 13 insertions, 14 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java index 4b9ff28fe..36a988bb6 100644 --- a/java/src/com/android/inputmethod/keyboard/Keyboard.java +++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java @@ -777,7 +777,7 @@ public class Keyboard { params.mThemeId = keyboardAttr.getInt(R.styleable.Keyboard_themeId, 0); params.mIconsSet.loadIcons(keyboardAttr); - params.mCodesSet.setLocale(params.mId.mLocale); + params.mCodesSet.setLanguage(params.mId.mLocale.getLanguage()); 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 964c8cac2..736a96c56 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java @@ -19,17 +19,16 @@ package com.android.inputmethod.keyboard.internal; import com.android.inputmethod.keyboard.Keyboard; import java.util.HashMap; -import java.util.Locale; public class KeyboardCodesSet { - private static final HashMap<Locale, int[]> sLocaleToCodesMap = - new HashMap<Locale, int[]>(); + private static final HashMap<String, int[]> sLanguageToCodesMap = + new HashMap<String, int[]>(); private static final HashMap<String, Integer> sNameToIdMap = new HashMap<String, Integer>(); private int[] mCodes = DEFAULT; - public void setLocale(final Locale locale) { - final int[] codes = sLocaleToCodesMap.get(locale); + public void setLanguage(final String language) { + final int[] codes = sLanguageToCodesMap.get(language); mCodes = (codes != null) ? codes : DEFAULT; } @@ -85,6 +84,7 @@ public class KeyboardCodesSet { Keyboard.CODE_SHORTCUT, Keyboard.CODE_ACTION_ENTER, Keyboard.CODE_ACTION_NEXT, + Keyboard.CODE_ACTION_PREVIOUS, Keyboard.CODE_LANGUAGE_SWITCH, Keyboard.CODE_UNSPECIFIED, CODE_LEFT_PARENTHESIS, @@ -111,6 +111,7 @@ public class KeyboardCodesSet { DEFAULT[10], DEFAULT[11], DEFAULT[12], + DEFAULT[13], CODE_RIGHT_PARENTHESIS, CODE_LEFT_PARENTHESIS, CODE_GREATER_THAN_SIGN, @@ -121,12 +122,12 @@ public class KeyboardCodesSet { CODE_LEFT_CURLY_BRACKET, }; - private static final String LANGUAGE_DEFAULT = null; + 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[] LOCALE_AND_CODES = { + private static final Object[] LANGUAGE_AND_CODES = { LANGUAGE_DEFAULT, DEFAULT, LANGUAGE_ARABIC, RTL, LANGUAGE_PERSIAN, RTL, @@ -138,12 +139,10 @@ public class KeyboardCodesSet { sNameToIdMap.put(ID_TO_NAME[i], i); } - for (int i = 0; i < LOCALE_AND_CODES.length; i += 2) { - final String localeString = (String)LOCALE_AND_CODES[i]; - final int[] codes = (int[])LOCALE_AND_CODES[i + 1]; - final Locale locale = (localeString == LANGUAGE_DEFAULT) - ? null : new Locale(localeString); - sLocaleToCodesMap.put(locale, codes); + 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); } } } |