aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/PointerTracker.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2010-09-02 12:57:40 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-02 12:57:40 -0700
commitcea6a25b904f536aff4efbf9eeb865bef8a3a4b4 (patch)
tree0cb55d8afb2121acc8c57bc5403753a237a28eb1 /java/src/com/android/inputmethod/latin/PointerTracker.java
parenta723409acfe9a2c32be2c3a0d6e5be9a0dd82f00 (diff)
parent07221a4ad11fa5ae6275c107f1f86260691bd505 (diff)
downloadlatinime-cea6a25b904f536aff4efbf9eeb865bef8a3a4b4.tar.gz
latinime-cea6a25b904f536aff4efbf9eeb865bef8a3a4b4.tar.xz
latinime-cea6a25b904f536aff4efbf9eeb865bef8a3a4b4.zip
am 07221a4a: Support sliding pop-up mini-keyboard input
Merge commit '07221a4ad11fa5ae6275c107f1f86260691bd505' into gingerbread-plus-aosp * commit '07221a4ad11fa5ae6275c107f1f86260691bd505': Support sliding pop-up mini-keyboard input
Diffstat (limited to 'java/src/com/android/inputmethod/latin/PointerTracker.java')
-rw-r--r--java/src/com/android/inputmethod/latin/PointerTracker.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/PointerTracker.java b/java/src/com/android/inputmethod/latin/PointerTracker.java
index 5b5cbe5cc..cb45e2100 100644
--- a/java/src/com/android/inputmethod/latin/PointerTracker.java
+++ b/java/src/com/android/inputmethod/latin/PointerTracker.java
@@ -61,6 +61,7 @@ public class PointerTracker {
private int mCurrentKey = NOT_A_KEY;
private int mStartX;
private int mStartY;
+ private long mDownTime;
// for move de-bouncing
private int mLastCodeX;
@@ -144,6 +145,7 @@ public class PointerTracker {
mCurrentKey = keyIndex;
mStartX = x;
mStartY = y;
+ mDownTime = eventTime;
startMoveDebouncing(x, y);
startTimeDebouncing(eventTime);
checkMultiTap(eventTime, keyIndex);
@@ -181,7 +183,19 @@ public class PointerTracker {
mHandler.startLongPressTimer(LONGPRESS_TIMEOUT, keyIndex, this);
}
} else {
- mHandler.cancelLongPressTimer();
+ if (mCurrentKey != NOT_A_KEY) {
+ updateTimeDebouncing(eventTime);
+ mCurrentKey = keyIndex;
+ mHandler.cancelLongPressTimer();
+ } else if (isMinorMoveBounce(x, y, keyIndex, mCurrentKey)) {
+ updateTimeDebouncing(eventTime);
+ } else {
+ resetMultiTap();
+ resetTimeDebouncing(eventTime, mCurrentKey);
+ resetMoveDebouncing();
+ mCurrentKey = keyIndex;
+ mHandler.cancelLongPressTimer();
+ }
}
/*
* While time debouncing is in effect, mCurrentKey holds the new key and this tracker
@@ -252,6 +266,10 @@ public class PointerTracker {
return mLastY;
}
+ public long getDownTime() {
+ return mDownTime;
+ }
+
// These package scope methods are only for debugging purpose.
/* package */ int getStartX() {
return mStartX;