summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2011-09-08 14:49:41 -0700
committerSvetoslav Ganov <svetoslavganov@google.com>2011-09-08 14:49:50 -0700
commit406970b06c8472cbd44ecc278d643a12589c6b38 (patch)
tree25f518fd422e57f46d23431e1947cdc1914b65c9 /services
parent5e8752595f7a3d3dd1e0d469ac275295e38bcfe1 (diff)
downloadframeworks_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.java1
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);