summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Phil Weaver <pweaver@google.com> 2016-08-05 00:37:17 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-08-05 00:37:19 +0000
commit6f20514185f836bbab48fe3867d3b249da573ec9 (patch)
treef41cb91f38b05333d56986804e4c9e5cc686ed4c
parentf32b03d1244d1b487d541c5b4b8f7ff7fdd14fa7 (diff)
parentdc5dedeaa2220a86f0b7a0d13ab308ad694e1369 (diff)
Merge "Only filter a11y motion events if needed." into nyc-mr1-dev
-rw-r--r--services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java
index 2a7d945c1311..fd93865ea97e 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java
@@ -77,6 +77,9 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo
*/
static final int FLAG_FEATURE_INJECT_MOTION_EVENTS = 0x00000010;
+ static final int FEATURES_AFFECTING_MOTION_EVENTS = FLAG_FEATURE_INJECT_MOTION_EVENTS
+ | FLAG_FEATURE_AUTOCLICK | FLAG_FEATURE_TOUCH_EXPLORATION
+ | FLAG_FEATURE_SCREEN_MAGNIFIER;
/**
* Flag for enabling the feature to control the screen magnifier. If
* {@link #FLAG_FEATURE_SCREEN_MAGNIFIER} is set this flag is ignored
@@ -203,8 +206,13 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo
}
if (event instanceof MotionEvent) {
- MotionEvent motionEvent = (MotionEvent) event;
- processMotionEvent(state, motionEvent, policyFlags);
+ if ((mEnabledFeatures & FEATURES_AFFECTING_MOTION_EVENTS) != 0) {
+ MotionEvent motionEvent = (MotionEvent) event;
+ processMotionEvent(state, motionEvent, policyFlags);
+ return;
+ } else {
+ super.onInputEvent(event, policyFlags);
+ }
} else if (event instanceof KeyEvent) {
KeyEvent keyEvent = (KeyEvent) event;
processKeyEvent(state, keyEvent, policyFlags);