diff options
| author | 2016-08-05 00:37:17 +0000 | |
|---|---|---|
| committer | 2016-08-05 00:37:19 +0000 | |
| commit | 6f20514185f836bbab48fe3867d3b249da573ec9 (patch) | |
| tree | f41cb91f38b05333d56986804e4c9e5cc686ed4c | |
| parent | f32b03d1244d1b487d541c5b4b8f7ff7fdd14fa7 (diff) | |
| parent | dc5dedeaa2220a86f0b7a0d13ab308ad694e1369 (diff) | |
Merge "Only filter a11y motion events if needed." into nyc-mr1-dev
| -rw-r--r-- | services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java | 12 |
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); |