diff options
author | 2014-06-27 10:22:25 +0000 | |
---|---|---|
committer | 2014-06-27 10:22:25 +0000 | |
commit | c1bf759dd535809b3876ed68c3542f477e5e777c (patch) | |
tree | 312280aeeb641370fb39bf80d3d7110bb038b691 /java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java | |
parent | a1923ce777fc1485ed89c9af6c2214da7faa4950 (diff) | |
parent | d966c0727fc7706b2ed28e09cd323f79236292c8 (diff) | |
download | latinime-c1bf759dd535809b3876ed68c3542f477e5e777c.tar.gz latinime-c1bf759dd535809b3876ed68c3542f477e5e777c.tar.xz latinime-c1bf759dd535809b3876ed68c3542f477e5e777c.zip |
am d966c072: Merge "Support performAccessibilityAction for CLICK and LONG_CLICK"
* commit 'd966c0727fc7706b2ed28e09cd323f79236292c8':
Support performAccessibilityAction for CLICK and LONG_CLICK
Diffstat (limited to 'java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java')
-rw-r--r-- | java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java | 13 |
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; |