aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2010-12-05 18:18:26 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-12-05 18:18:26 -0800
commite75e00d898bd38301761e674eee5dfb5bb6d9c87 (patch)
tree6531fc021dadb459827678fe5e00856ce7db9df5 /java/src
parent6c13b1a6c7b36d1628cf81ce1afd5efe569ee703 (diff)
parentc47bc5efe3a06b7c2d9d12e454ac3b7b522b7b4b (diff)
downloadlatinime-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.java13
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);