diff options
author | 2010-12-05 18:18:26 -0800 | |
---|---|---|
committer | 2010-12-05 18:18:26 -0800 | |
commit | e75e00d898bd38301761e674eee5dfb5bb6d9c87 (patch) | |
tree | 6531fc021dadb459827678fe5e00856ce7db9df5 /java/src | |
parent | 6c13b1a6c7b36d1628cf81ce1afd5efe569ee703 (diff) | |
parent | c47bc5efe3a06b7c2d9d12e454ac3b7b522b7b4b (diff) | |
download | latinime-e75e00d898bd38301761e674eee5dfb5bb6d9c87.tar.gz latinime-e75e00d898bd38301761e674eee5dfb5bb6d9c87.tar.xz latinime-e75e00d898bd38301761e674eee5dfb5bb6d9c87.zip |
Merge "Key release event should be sent when finger sliding (DO NOT MERGE)" into gingerbread
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/PointerTracker.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/PointerTracker.java b/java/src/com/android/inputmethod/latin/PointerTracker.java index f6fd5bd7a..90218e4ab 100644 --- a/java/src/com/android/inputmethod/latin/PointerTracker.java +++ b/java/src/com/android/inputmethod/latin/PointerTracker.java @@ -296,18 +296,23 @@ public class PointerTracker { if (mKeyAlreadyProcessed) return; KeyState keyState = mKeyState; - int keyIndex = keyState.onMoveKey(x, y); + final int keyIndex = keyState.onMoveKey(x, y); + final Key oldKey = getKey(keyState.getKeyIndex()); if (isValidKeyIndex(keyIndex)) { - if (keyState.getKeyIndex() == NOT_A_KEY) { + if (oldKey == null) { keyState.onMoveToNewKey(keyIndex, x, y); mHandler.startLongPressTimer(mLongPressKeyTimeout, keyIndex, this); } else if (!isMinorMoveBounce(x, y, keyIndex)) { + if (mListener != null) + mListener.onRelease(oldKey.codes[0]); resetMultiTap(); keyState.onMoveToNewKey(keyIndex, x, y); mHandler.startLongPressTimer(mLongPressKeyTimeout, keyIndex, this); } } else { - if (keyState.getKeyIndex() != NOT_A_KEY) { + if (oldKey != null) { + if (mListener != null) + mListener.onRelease(oldKey.codes[0]); keyState.onMoveToNewKey(keyIndex, x ,y); mHandler.cancelLongPressTimer(); } else if (!isMinorMoveBounce(x, y, keyIndex)) { @@ -411,7 +416,7 @@ public class PointerTracker { private void showKeyPreviewAndUpdateKey(int keyIndex) { updateKey(keyIndex); // The modifier key, such as shift key, should not be shown as preview when multi-touch is - // supported. On thge other hand, if multi-touch is not supported, the modifier key should + // supported. On the other hand, if multi-touch is not supported, the modifier key should // be shown as preview. if (mHasDistinctMultitouch && isModifier()) { mProxy.showPreview(NOT_A_KEY, this); |