diff options
author | Svetoslav Ganov <svetoslavganov@google.com> | 2011-09-08 14:49:41 -0700 |
---|---|---|
committer | Svetoslav Ganov <svetoslavganov@google.com> | 2011-09-08 14:49:50 -0700 |
commit | 406970b06c8472cbd44ecc278d643a12589c6b38 (patch) | |
tree | 25f518fd422e57f46d23431e1947cdc1914b65c9 /services | |
parent | 5e8752595f7a3d3dd1e0d469ac275295e38bcfe1 (diff) | |
download | frameworks_base-406970b06c8472cbd44ecc278d643a12589c6b38.zip frameworks_base-406970b06c8472cbd44ecc278d643a12589c6b38.tar.gz frameworks_base-406970b06c8472cbd44ecc278d643a12589c6b38.tar.bz2 |
Touch explorer does not cancel long press correctly causing system crash.
1. The touch explorer was not canceling long press runnable when a finger
goes down. This was causing system crash in the scenario of one pointer
down and not moving followed by another pointer down. Since the long press
runnable posed when the first pointer went down was not removed it was
sending events with wrong pointer id leading to a crash.
bug:5271592
Change-Id: I40dd7dd21d465ecedd9413f00b3cedc6066fa22d
Diffstat (limited to 'services')
-rw-r--r-- | services/java/com/android/server/accessibility/TouchExplorer.java | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/services/java/com/android/server/accessibility/TouchExplorer.java b/services/java/com/android/server/accessibility/TouchExplorer.java index eb399ad..aa43bb6 100644 --- a/services/java/com/android/server/accessibility/TouchExplorer.java +++ b/services/java/com/android/server/accessibility/TouchExplorer.java @@ -203,6 +203,7 @@ public class TouchExplorer implements Explorer { } case 1: { mSendHoverDelayed.remove(); + mPerformLongPressDelayed.remove(); // Send a hover for every finger down so the user gets feedback. final int pointerId = pointerTracker.getPrimaryActivePointerId(); final int pointerIdBits = (1 << pointerId); |