diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java index 3d107198e..83b761904 100644 --- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java +++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java @@ -210,7 +210,10 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx private OnKeyboardActionListener mKeyboardActionListener; private final ArrayList mPointerTrackers = new ArrayList(); + + // TODO: Let the PointerTracker class manage this pointer queue private final PointerQueue mPointerQueue = new PointerQueue(); + private final boolean mHasDistinctMultitouch; private int mOldPointerCount = 1; @@ -1036,8 +1039,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; }