aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2010-10-15 17:56:05 +0900
committerKen Wakasa <kwakasa@google.com>2010-10-15 17:56:05 +0900
commit8a26e85387d7fb964b76af502a6e89574d85d58d (patch)
tree7fde73a582ed8b8d320b78071e50871852ef7133 /java/src
parentace15025c3ccc2bb351490836c01958dfd45ca34 (diff)
downloadlatinime-8a26e85387d7fb964b76af502a6e89574d85d58d.tar.gz
latinime-8a26e85387d7fb964b76af502a6e89574d85d58d.tar.xz
latinime-8a26e85387d7fb964b76af502a6e89574d85d58d.zip
Fix an issue of adding extra character.
LatinKeyboardBaseView should have removed "long pressed" pointer tracker from the multi-touch pointer queue. bug: 3099130 Change-Id: I3d358a373b0de07558a204e9ff5a95e9ece38bcc
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
index b3f1364d8..c1b1008b0 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
@@ -214,7 +214,10 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
private OnKeyboardActionListener mKeyboardActionListener;
private final ArrayList<PointerTracker> mPointerTrackers = new ArrayList<PointerTracker>();
+
+ // TODO: Let the PointerTracker class manage this pointer queue
private final PointerQueue mPointerQueue = new PointerQueue();
+
private final boolean mHasDistinctMultitouch;
private int mOldPointerCount = 1;
@@ -1053,8 +1056,10 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
boolean result = onLongPress(popupKey);
if (result) {
dismissKeyPreview();
- tracker.setAlreadyProcessed();
mMiniKeyboardTrackerId = tracker.mPointerId;
+ // Mark this tracker "already processed" and remove it from the pointer queue
+ tracker.setAlreadyProcessed();
+ mPointerQueue.remove(tracker);
}
return result;
}