diff options
Diffstat (limited to 'services/java/com/android/server/accessibility/AccessibilityManagerService.java')
| -rw-r--r-- | services/java/com/android/server/accessibility/AccessibilityManagerService.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/services/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/java/com/android/server/accessibility/AccessibilityManagerService.java index 3e8f512..617a7f3 100644 --- a/services/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -384,9 +384,11 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { } public boolean sendAccessibilityEvent(AccessibilityEvent event) { + final int eventType = event.getEventType(); + // The event for gesture start should be strictly before the // first hover enter event for the gesture. - if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_HOVER_ENTER + if (eventType == AccessibilityEvent.TYPE_VIEW_HOVER_ENTER && mTouchExplorationGestureStarted) { mTouchExplorationGestureStarted = false; AccessibilityEvent gestureStartEvent = AccessibilityEvent.obtain( @@ -400,11 +402,14 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { notifyAccessibilityServicesDelayedLocked(event, false); notifyAccessibilityServicesDelayedLocked(event, true); } + + event.recycle(); + mHandledFeedbackTypes = 0; } // The event for gesture end should be strictly after the // last hover exit event for the gesture. - if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_HOVER_EXIT + if (eventType == AccessibilityEvent.TYPE_VIEW_HOVER_EXIT && mTouchExplorationGestureEnded) { mTouchExplorationGestureEnded = false; AccessibilityEvent gestureEndEvent = AccessibilityEvent.obtain( @@ -412,9 +417,6 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { sendAccessibilityEvent(gestureEndEvent); } - event.recycle(); - mHandledFeedbackTypes = 0; - return (OWN_PROCESS_ID != Binder.getCallingPid()); } |
