summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2011-07-31 20:23:48 -0700
committerSvetoslav Ganov <svetoslavganov@google.com>2011-08-04 06:34:37 -0700
commit47e02711d78ecac9112aa7f66e5664cdc46fb3d1 (patch)
treedf9d4e522b375c7a094dddea6e9e3573f1fd1f79 /services
parent7abaecc3dbb610b24e22685e6aa749c7011be1eb (diff)
downloadframeworks_base-47e02711d78ecac9112aa7f66e5664cdc46fb3d1.zip
frameworks_base-47e02711d78ecac9112aa7f66e5664cdc46fb3d1.tar.gz
frameworks_base-47e02711d78ecac9112aa7f66e5664cdc46fb3d1.tar.bz2
ACTION_HOVER_EXIT sometimes not delivered during touch exploration.
1. The code for detecting the end of a touch exploration gesture was not injecting the hover exit event upon detection of the gesture end. bug:5091758: Change-Id: I468164617d6677cd2a2a2815e1756c826d49f3a9
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/accessibility/TouchExplorer.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/services/java/com/android/server/accessibility/TouchExplorer.java b/services/java/com/android/server/accessibility/TouchExplorer.java
index 0ad58d0..0808d5d 100644
--- a/services/java/com/android/server/accessibility/TouchExplorer.java
+++ b/services/java/com/android/server/accessibility/TouchExplorer.java
@@ -313,7 +313,7 @@ public class TouchExplorer implements Explorer {
if (moveDelta > mTouchExplorationTapSlop) {
mLastTouchExploreEvent = null;
mPerformLongPressDelayed.remove();
- break;
+ break;
}
}
} break;
@@ -388,6 +388,11 @@ public class TouchExplorer implements Explorer {
mTouchExploreGestureInProgress = false;
mLastTouchExploreEvent = MotionEvent.obtain(event);
sendAccessibilityEvent(TYPE_TOUCH_EXPLORATION_GESTURE_END);
+ final int lastAction = mPointerTracker.getLastInjectedHoverAction();
+ if (lastAction != MotionEvent.ACTION_HOVER_EXIT) {
+ sendMotionEvent(event, MotionEvent.ACTION_HOVER_EXIT,
+ pointerIdBits, policyFlags);
+ }
break;
}