summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/accessibility/AccessibilityManagerService.java12
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());
}