aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java
diff options
context:
space:
mode:
authoralanv <alanv@google.com>2012-02-07 13:14:18 -0800
committeralanv <alanv@google.com>2012-02-07 13:14:18 -0800
commit8d4f0d5d1df2e0ae0b6ac332fd6661b7fa903186 (patch)
treeae53f348a39826cbe4f0f5e9e9cef19c713cd88a /java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java
parent4c5daa8a5574628204be602578794035ab8686f0 (diff)
downloadlatinime-8d4f0d5d1df2e0ae0b6ac332fd6661b7fa903186.tar.gz
latinime-8d4f0d5d1df2e0ae0b6ac332fd6661b7fa903186.tar.xz
latinime-8d4f0d5d1df2e0ae0b6ac332fd6661b7fa903186.zip
Improved shift key and symbol/alpha switch key accessibility feedback.
Bug: 5933165 Change-Id: Id71f38874640785b7ad43b7a70e27f40c13be748
Diffstat (limited to 'java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java')
-rw-r--r--java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java54
1 files changed, 40 insertions, 14 deletions
diff --git a/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java b/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java
index 18a4bfbfc..f0dba4a02 100644
--- a/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java
+++ b/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java
@@ -129,19 +129,37 @@ public class KeyCodeDescriptionMapper {
* the key
*/
private CharSequence getDescriptionForSwitchAlphaSymbol(Context context, Keyboard keyboard) {
- final KeyboardId id = keyboard.mId;
-
- if (id.isAlphabetKeyboard()) {
- return context.getString(R.string.spoken_description_to_symbol);
- } else if (id.isSymbolsKeyboard()) {
- return context.getString(R.string.spoken_description_to_alpha);
- } else if (id.isPhoneShiftKeyboard()) {
- return context.getString(R.string.spoken_description_to_numeric);
- } else if (id.isPhoneKeyboard()) {
- return context.getString(R.string.spoken_description_to_symbol);
- } else {
+ final KeyboardId keyboardId = keyboard.mId;
+ final int elementId = keyboardId.mElementId;
+ final int resId;
+
+ switch (elementId) {
+ case KeyboardId.ELEMENT_ALPHABET:
+ case KeyboardId.ELEMENT_ALPHABET_AUTOMATIC_SHIFTED:
+ case KeyboardId.ELEMENT_ALPHABET_MANUAL_SHIFTED:
+ case KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCK_SHIFTED:
+ case KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCKED:
+ resId = R.string.spoken_description_to_symbol;
+ break;
+ case KeyboardId.ELEMENT_SYMBOLS:
+ case KeyboardId.ELEMENT_SYMBOLS_SHIFTED:
+ resId = R.string.spoken_description_to_alpha;
+ break;
+ case KeyboardId.ELEMENT_PHONE:
+ resId = R.string.spoken_description_to_symbol;
+ break;
+ case KeyboardId.ELEMENT_PHONE_SYMBOLS:
+ resId = R.string.spoken_description_to_numeric;
+ break;
+ default:
+ resId = -1;
+ }
+
+ if (resId < 0) {
return null;
}
+
+ return context.getString(resId);
}
/**
@@ -152,13 +170,21 @@ public class KeyCodeDescriptionMapper {
* @return A context-sensitive description of the "Shift" key.
*/
private CharSequence getDescriptionForShiftKey(Context context, Keyboard keyboard) {
+ final KeyboardId keyboardId = keyboard.mId;
+ final int elementId = keyboardId.mElementId;
final int resId;
- if (keyboard.isShiftLocked()) {
+ switch (elementId) {
+ case KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCK_SHIFTED:
+ case KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCKED:
resId = R.string.spoken_description_caps_lock;
- } else if (keyboard.isShiftedOrShiftLocked()) {
+ break;
+ case KeyboardId.ELEMENT_ALPHABET_AUTOMATIC_SHIFTED:
+ case KeyboardId.ELEMENT_ALPHABET_MANUAL_SHIFTED:
+ case KeyboardId.ELEMENT_SYMBOLS_SHIFTED:
resId = R.string.spoken_description_shift_shifted;
- } else {
+ break;
+ default:
resId = R.string.spoken_description_shift;
}