diff options
author | 2019-12-04 17:12:21 +0000 | |
---|---|---|
committer | 2019-12-04 17:12:21 +0000 | |
commit | f82d822b420ecfc54a4954e75b864525b1a5171d (patch) | |
tree | b1fab1ba65b98a405f217c193124829adc28d8e8 | |
parent | c1ae6aa1aa746c0dd1c6a86b9799ad00652fe334 (diff) | |
parent | fc2bc1053014d88a1052fcec9b206845bcf5ab4e (diff) | |
download | latinime-f82d822b420ecfc54a4954e75b864525b1a5171d.tar.gz latinime-f82d822b420ecfc54a4954e75b864525b1a5171d.tar.xz latinime-f82d822b420ecfc54a4954e75b864525b1a5171d.zip |
Merge "Implement text entry key API for accessibility services in AOSP Keyboard" am: c3eafcb756 am: fc2bc10530
Change-Id: Ie3e94bbd0401ddabb489b0bcf6e7f6fc6be8f0c0
3 files changed, 4 insertions, 16 deletions
diff --git a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java index f7a11639d..5c03d26a9 100644 --- a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java +++ b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java @@ -243,7 +243,6 @@ public class KeyboardAccessibilityDelegate<KV extends KeyboardView> // Make sure we're not getting an EXIT event because the user slid // off the keyboard area, then force a key press. if (key != null) { - performClickOn(key); onHoverExitFrom(key); } setLastHoverKey(null); diff --git a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java index a3511c63f..7266aa88a 100644 --- a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java +++ b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java @@ -236,6 +236,7 @@ final class KeyboardAccessibilityNodeProvider<KV extends KeyboardView> // Obtain and initialize an AccessibilityNodeInfo with information about the virtual view. final AccessibilityNodeInfoCompat info = AccessibilityNodeInfoCompat.obtain(); info.setPackageName(mKeyboardView.getContext().getPackageName()); + info.setTextEntryKey(true); info.setClassName(key.getClass().getName()); info.setContentDescription(keyDescription); info.setBoundsInParent(boundsInParent); @@ -244,13 +245,9 @@ final class KeyboardAccessibilityNodeProvider<KV extends KeyboardView> info.setSource(mKeyboardView, virtualViewId); info.setEnabled(key.isEnabled()); info.setVisibleToUser(true); - // Don't add ACTION_CLICK and ACTION_LONG_CLOCK actions while hovering on the key. - // See {@link #onHoverEnterTo(Key)} and {@link #onHoverExitFrom(Key)}. - if (virtualViewId != mHoveringNodeId) { - info.addAction(AccessibilityNodeInfoCompat.ACTION_CLICK); - if (key.isLongPressEnabled()) { - info.addAction(AccessibilityNodeInfoCompat.ACTION_LONG_CLICK); - } + info.addAction(AccessibilityNodeInfoCompat.ACTION_CLICK); + if (key.isLongPressEnabled()) { + info.addAction(AccessibilityNodeInfoCompat.ACTION_LONG_CLICK); } if (mAccessibilityFocusedView == virtualViewId) { diff --git a/java/src/com/android/inputmethod/accessibility/MainKeyboardAccessibilityDelegate.java b/java/src/com/android/inputmethod/accessibility/MainKeyboardAccessibilityDelegate.java index edda32d52..3234993cf 100644 --- a/java/src/com/android/inputmethod/accessibility/MainKeyboardAccessibilityDelegate.java +++ b/java/src/com/android/inputmethod/accessibility/MainKeyboardAccessibilityDelegate.java @@ -62,13 +62,10 @@ public final class MainKeyboardAccessibilityDelegate // The rectangle region to ignore hover events. private final Rect mBoundsToIgnoreHoverEvent = new Rect(); - private final AccessibilityLongPressTimer mAccessibilityLongPressTimer; public MainKeyboardAccessibilityDelegate(final MainKeyboardView mainKeyboardView, final KeyDetector keyDetector) { super(mainKeyboardView, keyDetector); - mAccessibilityLongPressTimer = new AccessibilityLongPressTimer( - this /* callback */, mainKeyboardView.getContext()); } /** @@ -233,7 +230,6 @@ public final class MainKeyboardAccessibilityDelegate Log.d(TAG, "onHoverEnterTo: key=" + key + " inIgnoreBounds=" + mBoundsToIgnoreHoverEvent.contains(x, y)); } - mAccessibilityLongPressTimer.cancelLongPress(); if (mBoundsToIgnoreHoverEvent.contains(x, y)) { return; } @@ -241,9 +237,6 @@ public final class MainKeyboardAccessibilityDelegate // Further hover events should be handled. mBoundsToIgnoreHoverEvent.setEmpty(); super.onHoverEnterTo(key); - if (key.isLongPressEnabled()) { - mAccessibilityLongPressTimer.startLongPress(key); - } } @Override @@ -254,7 +247,6 @@ public final class MainKeyboardAccessibilityDelegate Log.d(TAG, "onHoverExitFrom: key=" + key + " inIgnoreBounds=" + mBoundsToIgnoreHoverEvent.contains(x, y)); } - mAccessibilityLongPressTimer.cancelLongPress(); super.onHoverExitFrom(key); } |