diff options
author | 2012-09-13 18:54:30 +0900 | |
---|---|---|
committer | 2012-09-13 19:07:09 +0900 | |
commit | 350fab6dc4d4d4aec272056004cbb5c039f5bf37 (patch) | |
tree | 0f8b437ad2d13e68abb8a02a05d78c904c33420e /java/src | |
parent | 737e9150935e1058b2d7d6adcd1b7857fa7c37ca (diff) | |
download | latinime-350fab6dc4d4d4aec272056004cbb5c039f5bf37.tar.gz latinime-350fab6dc4d4d4aec272056004cbb5c039f5bf37.tar.xz latinime-350fab6dc4d4d4aec272056004cbb5c039f5bf37.zip |
Fix gesture floating preview on up event
This is a follow up of Iddb26ba1.
Bug: 7119032
Change-Id: Ibbc94a1a4880ca31bd8aeece89893691b14acc4d
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/PointerTracker.java | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index e762b23c6..2417d6e96 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -545,12 +545,15 @@ public class PointerTracker implements PointerTrackerQueue.Element { } private void startBatchInput() { - if (DEBUG_LISTENER) { - Log.d(TAG, "onStartBatchInput"); + if (!sInGesture && mGestureStrokeWithPreviewTrail.isStartOfAGesture()) { + if (DEBUG_LISTENER) { + Log.d(TAG, "onStartBatchInput"); + } + sInGesture = true; + mListener.onStartBatchInput(); } - sInGesture = true; - mListener.onStartBatchInput(); - mDrawingProxy.showGesturePreviewTrail(this, true /* isOldestTracker */); + final boolean isOldestTracker = sPointerTrackerQueue.getOldestElement() == this; + mDrawingProxy.showGesturePreviewTrail(this, isOldestTracker); } private void updateBatchInput(final long eventTime) { @@ -585,7 +588,8 @@ public class PointerTracker implements PointerTrackerQueue.Element { clearBatchInputPointsOfAllPointerTrackers(); } } - mDrawingProxy.showGesturePreviewTrail(this, true /* isOldestTracker */); + final boolean isOldestTracker = sPointerTrackerQueue.getOldestElement() == this; + mDrawingProxy.showGesturePreviewTrail(this, isOldestTracker); } private static void abortBatchInput() { @@ -721,12 +725,8 @@ public class PointerTracker implements PointerTrackerQueue.Element { final boolean isHistorical, final Key key) { final int gestureTime = (int)(eventTime - sGestureFirstDownTime); if (mIsDetectingGesture) { - final GestureStroke stroke = mGestureStrokeWithPreviewTrail; - stroke.addPoint(x, y, gestureTime, isHistorical); - if (!sInGesture && stroke.isStartOfAGesture()) { - startBatchInput(); - } - + mGestureStrokeWithPreviewTrail.addPoint(x, y, gestureTime, isHistorical); + startBatchInput(); if (sInGesture && key != null) { updateBatchInput(eventTime); } |