diff options
author | 2010-09-02 13:01:25 -0700 | |
---|---|---|
committer | 2010-09-02 13:01:25 -0700 | |
commit | e46f44714d67faf598df7d85f6271db2ff75aebb (patch) | |
tree | f30afe025d658f092320d20099266fe6d608ad62 /java/src/com/android/inputmethod/latin/PointerTracker.java | |
parent | 6c8109dc15a5f917c72e0d002968ea7b51abc2d8 (diff) | |
parent | cea6a25b904f536aff4efbf9eeb865bef8a3a4b4 (diff) | |
download | latinime-e46f44714d67faf598df7d85f6271db2ff75aebb.tar.gz latinime-e46f44714d67faf598df7d85f6271db2ff75aebb.tar.xz latinime-e46f44714d67faf598df7d85f6271db2ff75aebb.zip |
am cea6a25b: am 07221a4a: Support sliding pop-up mini-keyboard input
Merge commit 'cea6a25b904f536aff4efbf9eeb865bef8a3a4b4'
* commit 'cea6a25b904f536aff4efbf9eeb865bef8a3a4b4':
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; |