aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-03-29 21:01:19 +0900
committerTadashi G. Takaoka <takaoka@google.com>2012-03-30 18:20:52 +0900
commitfb5b4c4fc39499d03951671c1a9b67b3573dd11d (patch)
tree597996a6086820383f5b0d5eada32a06d63b1878 /java/src
parent338ba2a236aea0d7ad6890a9e7bc26c2fe5bc364 (diff)
downloadlatinime-fb5b4c4fc39499d03951671c1a9b67b3573dd11d.tar.gz
latinime-fb5b4c4fc39499d03951671c1a9b67b3573dd11d.tar.xz
latinime-fb5b4c4fc39499d03951671c1a9b67b3573dd11d.zip
Add language agnostic QWERTY subtype
Bug: 6010147 Change-Id: I705e38ac889172ae8b7c2a68e5c688f2ffc28320
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSet.java12
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeLocale.java12
2 files changed, 18 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSet.java b/java/src/com/android/inputmethod/keyboard/KeyboardSet.java
index c17fe8628..f0c773ff4 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSet.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSet.java
@@ -98,6 +98,7 @@ public class KeyboardSet {
int mMode;
EditorInfo mEditorInfo;
boolean mTouchPositionCorrectionEnabled;
+ boolean mDisableShortcutKey;
boolean mVoiceKeyEnabled;
boolean mVoiceKeyOnMain;
boolean mNoSettingsKey;
@@ -200,11 +201,11 @@ public class KeyboardSet {
final Params params = mParams;
final boolean isSymbols = (keyboardSetElementId == KeyboardId.ELEMENT_SYMBOLS
|| keyboardSetElementId == KeyboardId.ELEMENT_SYMBOLS_SHIFTED);
- final boolean hasShortcutKey = params.mVoiceKeyEnabled
- && (isSymbols != params.mVoiceKeyOnMain);
+ final boolean voiceKeyEnabled = params.mVoiceKeyEnabled && !params.mDisableShortcutKey;
+ final boolean hasShortcutKey = voiceKeyEnabled && (isSymbols != params.mVoiceKeyOnMain);
return new KeyboardId(keyboardSetElementId, params.mLocale, params.mOrientation,
params.mWidth, params.mMode, params.mEditorInfo, params.mNoSettingsKey,
- params.mVoiceKeyEnabled, hasShortcutKey, params.mLanguageSwitchKeyEnabled);
+ voiceKeyEnabled, hasShortcutKey, params.mLanguageSwitchKeyEnabled);
}
public static class Builder {
@@ -293,6 +294,11 @@ public class KeyboardSet {
if (event == XmlPullParser.START_TAG) {
final String tag = parser.getName();
if (TAG_KEYBOARD_SET.equals(tag)) {
+ final TypedArray a = mResources.obtainAttributes(
+ Xml.asAttributeSet(parser), R.styleable.KeyboardSet);
+ mParams.mDisableShortcutKey = a.getBoolean(
+ R.styleable.KeyboardSet_disableShortcutKey, false);
+ a.recycle();
parseKeyboardSetContent(parser);
} else {
throw new XmlParseUtils.IllegalStartTag(parser, TAG_KEYBOARD_SET);
diff --git a/java/src/com/android/inputmethod/latin/SubtypeLocale.java b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
index 917521c40..66c13bd2e 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeLocale.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
@@ -36,10 +36,16 @@ public class SubtypeLocale {
}
public static String getFullDisplayName(Locale locale) {
- String localeCode = locale.toString();
+ final String localeCode = locale.toString();
for (int index = 0; index < sExceptionKeys.length; index++) {
- if (sExceptionKeys[index].equals(localeCode))
- return sExceptionValues[index];
+ if (sExceptionKeys[index].equals(localeCode)) {
+ final String value = sExceptionValues[index];
+ if (value.indexOf("%s") >= 0) {
+ final String languageName = locale.getDisplayLanguage(locale);
+ return String.format(value, languageName);
+ }
+ return value;
+ }
}
return locale.getDisplayName(locale);
}