summaryrefslogtreecommitdiffstats
path: root/core/java/android/view/GestureDetector.java
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2013-09-05 13:44:45 -0700
committerAdam Powell <adamp@google.com>2013-09-05 13:44:45 -0700
commitaf1785f0b54bff4fcc6218619e34b9861e129cb9 (patch)
treee7a05a76cfa2b7a8467b4d1a43dd33d87d2c4f2f /core/java/android/view/GestureDetector.java
parent49ee555f239c79871b661e5ff135061f26665e1c (diff)
downloadframeworks_base-af1785f0b54bff4fcc6218619e34b9861e129cb9.zip
frameworks_base-af1785f0b54bff4fcc6218619e34b9861e129cb9.tar.gz
frameworks_base-af1785f0b54bff4fcc6218619e34b9861e129cb9.tar.bz2
Add a minimum timeout for double-tap in GestureDetector
Prevent noisy falsing. Minimum timeout is currently 40ms and can be tuned for later. Consider un-hiding the ViewConfiguration query method later. Bug 10476944 Change-Id: Ib470735ec929b0b358fca4597e92dc81084e675f
Diffstat (limited to 'core/java/android/view/GestureDetector.java')
-rw-r--r--core/java/android/view/GestureDetector.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/core/java/android/view/GestureDetector.java b/core/java/android/view/GestureDetector.java
index 6bbfe0f..2351548 100644
--- a/core/java/android/view/GestureDetector.java
+++ b/core/java/android/view/GestureDetector.java
@@ -17,7 +17,6 @@
package android.view;
import android.content.Context;
-import android.os.Build;
import android.os.Handler;
import android.os.Message;
@@ -202,6 +201,7 @@ public class GestureDetector {
private static final int LONGPRESS_TIMEOUT = ViewConfiguration.getLongPressTimeout();
private static final int TAP_TIMEOUT = ViewConfiguration.getTapTimeout();
private static final int DOUBLE_TAP_TIMEOUT = ViewConfiguration.getDoubleTapTimeout();
+ private static final int DOUBLE_TAP_MIN_TIME = ViewConfiguration.getDoubleTapMinTime();
// constants for Message.what used by GestureHandler below
private static final int SHOW_PRESS = 1;
@@ -673,7 +673,8 @@ public class GestureDetector {
return false;
}
- if (secondDown.getEventTime() - firstUp.getEventTime() > DOUBLE_TAP_TIMEOUT) {
+ final long deltaTime = secondDown.getEventTime() - firstUp.getEventTime();
+ if (deltaTime > DOUBLE_TAP_TIMEOUT || deltaTime < DOUBLE_TAP_MIN_TIME) {
return false;
}