diff options
author | Svetoslav Ganov <svetoslavganov@google.com> | 2011-07-31 20:23:48 -0700 |
---|---|---|
committer | Svetoslav Ganov <svetoslavganov@google.com> | 2011-08-04 06:34:37 -0700 |
commit | 47e02711d78ecac9112aa7f66e5664cdc46fb3d1 (patch) | |
tree | df9d4e522b375c7a094dddea6e9e3573f1fd1f79 /services | |
parent | 7abaecc3dbb610b24e22685e6aa749c7011be1eb (diff) | |
download | frameworks_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.java | 7 |
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; } |