aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/accessibility
diff options
context:
space:
mode:
authorSatoshi Kataoka <satok@google.com>2012-09-18 12:07:33 +0900
committerSatoshi Kataoka <satok@google.com>2012-09-18 12:07:33 +0900
commitf18fc03621b70f5a51cf54c4bf40eb213de40652 (patch)
treee6897145da33c21866b57c95444a530488ca2af1 /java/src/com/android/inputmethod/accessibility
parent9761fa578609b4f3788344b5b3c886b1e883e97e (diff)
parent764dd712032d7b8012797b1116b523bef7b907f3 (diff)
downloadlatinime-f18fc03621b70f5a51cf54c4bf40eb213de40652.tar.gz
latinime-f18fc03621b70f5a51cf54c4bf40eb213de40652.tar.xz
latinime-f18fc03621b70f5a51cf54c4bf40eb213de40652.zip
Merge remote-tracking branch 'goog/jb-mr1-dev' into mergescriptpackage
Diffstat (limited to 'java/src/com/android/inputmethod/accessibility')
-rw-r--r--java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java9
-rw-r--r--java/src/com/android/inputmethod/accessibility/AccessibilityUtils.java2
-rw-r--r--java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java17
3 files changed, 20 insertions, 8 deletions
diff --git a/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java b/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java
index 039c77b9c..5af5d044f 100644
--- a/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java
+++ b/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java
@@ -196,8 +196,7 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat
info.setSource(mKeyboardView, virtualViewId);
info.setBoundsInScreen(boundsInScreen);
info.setEnabled(true);
- info.setClickable(true);
- info.addAction(AccessibilityNodeInfoCompat.ACTION_CLICK);
+ info.setVisibleToUser(true);
if (mAccessibilityFocusedView == virtualViewId) {
info.addAction(AccessibilityNodeInfoCompat.ACTION_CLEAR_ACCESSIBILITY_FOCUS);
@@ -226,6 +225,9 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat
mKeyboardView.onTouchEvent(downEvent);
mKeyboardView.onTouchEvent(upEvent);
+
+ downEvent.recycle();
+ upEvent.recycle();
}
@Override
@@ -252,9 +254,6 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat
final int virtualViewId = generateVirtualViewIdForKey(key);
switch (action) {
- case AccessibilityNodeInfoCompat.ACTION_CLICK:
- simulateKeyPress(key);
- return true;
case AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS:
if (mAccessibilityFocusedView == virtualViewId) {
return false;
diff --git a/java/src/com/android/inputmethod/accessibility/AccessibilityUtils.java b/java/src/com/android/inputmethod/accessibility/AccessibilityUtils.java
index 58d3022c9..1eee1df87 100644
--- a/java/src/com/android/inputmethod/accessibility/AccessibilityUtils.java
+++ b/java/src/com/android/inputmethod/accessibility/AccessibilityUtils.java
@@ -37,7 +37,7 @@ import com.android.inputmethod.compat.SettingsSecureCompatUtils;
import com.android.inputmethod.latin.InputTypeUtils;
import com.android.inputmethod.latin.R;
-public class AccessibilityUtils {
+public final class AccessibilityUtils {
private static final String TAG = AccessibilityUtils.class.getSimpleName();
private static final String CLASS = AccessibilityUtils.class.getClass().getName();
private static final String PACKAGE = AccessibilityUtils.class.getClass().getPackage()
diff --git a/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java b/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java
index e42de0b4c..01220a58a 100644
--- a/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java
+++ b/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java
@@ -105,8 +105,21 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat {
}
/**
- * Receives hover events when accessibility is turned on in SDK versions ICS
- * and higher.
+ * Intercepts touch events before dispatch when touch exploration is turned
+ * on in ICS and higher.
+ *
+ * @param event The motion event being dispatched.
+ * @return {@code true} if the event is handled
+ */
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ // To avoid accidental key presses during touch exploration, always drop
+ // touch events generated by the user.
+ return false;
+ }
+
+ /**
+ * Receives hover events when touch exploration is turned on in SDK versions
+ * ICS and higher.
*
* @param event The hover event.
* @return {@code true} if the event is handled