diff options
author | 2010-09-02 12:57:40 -0700 | |
---|---|---|
committer | 2010-09-02 12:57:40 -0700 | |
commit | cea6a25b904f536aff4efbf9eeb865bef8a3a4b4 (patch) | |
tree | 0cb55d8afb2121acc8c57bc5403753a237a28eb1 /java/src/com/android/inputmethod/latin/PointerTracker.java | |
parent | a723409acfe9a2c32be2c3a0d6e5be9a0dd82f00 (diff) | |
parent | 07221a4ad11fa5ae6275c107f1f86260691bd505 (diff) | |
download | latinime-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.java | 20 |
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; |