aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-06-13 16:33:54 +0900
committerTadashi G. Takaoka <takaoka@google.com>2014-06-13 16:44:59 +0900
commit9934740a5fd85ad0ea6126328ba9015069d2fdc0 (patch)
treef1ebedd8770c604b200c9c7b71e11df42ada6d97 /java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
parent03eba0927dfb82c890c0745840bc6098240c04d4 (diff)
downloadlatinime-9934740a5fd85ad0ea6126328ba9015069d2fdc0.tar.gz
latinime-9934740a5fd85ad0ea6126328ba9015069d2fdc0.tar.xz
latinime-9934740a5fd85ad0ea6126328ba9015069d2fdc0.zip
Return an empty accessibility node info for a keyboard
Because a keyboard handling hover events and determining a virtual node by itself, there is no need to supply whole virtual nodes info for the keyboard. Just returning an empty accessibility node info supresses annoucements of all keys. This CL also fixes the undefined virtual id value. Bug: 15582251 Change-Id: Ie033d21ef878d272417cf2b20f8eec1e516587f6
Diffstat (limited to 'java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java')
-rw-r--r--java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java18
1 files changed, 4 insertions, 14 deletions
diff --git a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
index 18673a366..cb13483f2 100644
--- a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
+++ b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
@@ -49,7 +49,9 @@ import java.util.List;
*/
final class KeyboardAccessibilityNodeProvider extends AccessibilityNodeProviderCompat {
private static final String TAG = KeyboardAccessibilityNodeProvider.class.getSimpleName();
- private static final int UNDEFINED = Integer.MIN_VALUE;
+
+ // From {@link android.view.accessibility.AccessibilityNodeInfo#UNDEFINED_ITEM_ID}.
+ private static final int UNDEFINED = Integer.MAX_VALUE;
private final KeyCodeDescriptionMapper mKeyCodeDescriptionMapper;
private final AccessibilityUtils mAccessibilityUtils;
@@ -167,22 +169,10 @@ final class KeyboardAccessibilityNodeProvider extends AccessibilityNodeProviderC
}
if (virtualViewId == View.NO_ID) {
// We are requested to create an AccessibilityNodeInfo describing
- // this View, i.e. the root of the virtual sub-tree.
+ // this View. Returning an empty info is sufficient for a keyboard.
final AccessibilityNodeInfoCompat rootInfo =
AccessibilityNodeInfoCompat.obtain(mKeyboardView);
ViewCompat.onInitializeAccessibilityNodeInfo(mKeyboardView, rootInfo);
-
- // Add the virtual children of the root View.
- final List<Key> sortedKeys = mKeyboard.getSortedKeys();
- final int size = sortedKeys.size();
- for (int index = 0; index < size; index++) {
- final Key key = sortedKeys.get(index);
- if (key.isSpacer()) {
- continue;
- }
- // Use an index of the sorted keys list as a virtual view id.
- rootInfo.addChild(mKeyboardView, index);
- }
return rootInfo;
}