From 48b96a6a52dab6f3a44adf80b40832d629fe5871 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Sat, 7 Jun 2014 22:43:23 +0900 Subject: [PATCH] Fix TalkBack descriptions of keyboard shift mode transition Bug: 14846348 Change-Id: I32435a31f919974a506e598d1f3cc1b55a0866ae --- .../MainKeyboardAccessibilityDelegate.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/java/src/com/android/inputmethod/accessibility/MainKeyboardAccessibilityDelegate.java b/java/src/com/android/inputmethod/accessibility/MainKeyboardAccessibilityDelegate.java index 6757a0efc..96f84dde9 100644 --- a/java/src/com/android/inputmethod/accessibility/MainKeyboardAccessibilityDelegate.java +++ b/java/src/com/android/inputmethod/accessibility/MainKeyboardAccessibilityDelegate.java @@ -156,14 +156,28 @@ public final class MainKeyboardAccessibilityDelegate case KeyboardId.ELEMENT_ALPHABET: if (lastElementId == KeyboardId.ELEMENT_ALPHABET || lastElementId == KeyboardId.ELEMENT_ALPHABET_AUTOMATIC_SHIFTED) { + // Transition between alphabet mode and automatic shifted mode should be silently + // ignored because it can be determined by each key's talk back announce. return; } resId = R.string.spoken_description_mode_alpha; break; case KeyboardId.ELEMENT_ALPHABET_MANUAL_SHIFTED: + if (lastElementId == KeyboardId.ELEMENT_ALPHABET_AUTOMATIC_SHIFTED) { + // Resetting automatic shifted mode by pressing the shift key causes the transition + // from automatic shifted to manual shifted that should be silently ignored. + return; + } resId = R.string.spoken_description_shiftmode_on; break; case KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCK_SHIFTED: + if (lastElementId == KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCKED) { + // Resetting caps locked mode by pressing the shift key causes the transition + // from shift locked to shift lock shifted that should be silently ignored. + return; + } + resId = R.string.spoken_description_shiftmode_locked; + break; case KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCKED: resId = R.string.spoken_description_shiftmode_locked; break;