aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-06-24 15:14:24 -0700
committerTadashi G. Takaoka <takaoka@google.com>2014-06-27 19:01:56 +0900
commit1e3167229519843b83ba8bea7d78a82ffba236bc (patch)
treedb7800c053b26f276fe4643f8b4a4ef9ccc87575 /java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
parentc9c3ea0b68a1bad1febb7532fa941b430a1b941a (diff)
downloadlatinime-1e3167229519843b83ba8bea7d78a82ffba236bc.tar.gz
latinime-1e3167229519843b83ba8bea7d78a82ffba236bc.tar.xz
latinime-1e3167229519843b83ba8bea7d78a82ffba236bc.zip
Support performAccessibilityAction for CLICK and LONG_CLICK
Bug: 15727335 Change-Id: I83274c1a9d3cf2e8237d1674fe915b7b2d222a53
Diffstat (limited to 'java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java')
-rw-r--r--java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
index 328d9ec0d..66b0acb2f 100644
--- a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
+++ b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
@@ -47,7 +47,8 @@ import java.util.List;
* virtual views, thus conveying their logical structure.
* </p>
*/
-final class KeyboardAccessibilityNodeProvider extends AccessibilityNodeProviderCompat {
+final class KeyboardAccessibilityNodeProvider<KV extends KeyboardView>
+ extends AccessibilityNodeProviderCompat {
private static final String TAG = KeyboardAccessibilityNodeProvider.class.getSimpleName();
// From {@link android.view.accessibility.AccessibilityNodeInfo#UNDEFINED_ITEM_ID}.
@@ -69,16 +70,20 @@ final class KeyboardAccessibilityNodeProvider extends AccessibilityNodeProviderC
private int mHoveringNodeId = UNDEFINED;
/** The keyboard view to provide an accessibility node info. */
- private final KeyboardView mKeyboardView;
+ private final KV mKeyboardView;
+ /** The accessibility delegate. */
+ private final KeyboardAccessibilityDelegate<KV> mDelegate;
/** The current keyboard. */
private Keyboard mKeyboard;
- public KeyboardAccessibilityNodeProvider(final KeyboardView keyboardView) {
+ public KeyboardAccessibilityNodeProvider(final KV keyboardView,
+ final KeyboardAccessibilityDelegate<KV> delegate) {
super();
mKeyCodeDescriptionMapper = KeyCodeDescriptionMapper.getInstance();
mAccessibilityUtils = AccessibilityUtils.getInstance();
mKeyboardView = keyboardView;
+ mDelegate = delegate;
// Since this class is constructed lazily, we might not get a subsequent
// call to setKeyboard() and therefore need to call it now.
@@ -287,9 +292,11 @@ final class KeyboardAccessibilityNodeProvider extends AccessibilityNodeProviderC
return true;
case AccessibilityNodeInfoCompat.ACTION_CLICK:
sendAccessibilityEventForKey(key, AccessibilityEvent.TYPE_VIEW_CLICKED);
+ mDelegate.performClickOn(key);
return true;
case AccessibilityNodeInfoCompat.ACTION_LONG_CLICK:
sendAccessibilityEventForKey(key, AccessibilityEvent.TYPE_VIEW_LONG_CLICKED);
+ mDelegate.performLongClickOn(key);
return true;
default:
return false;