Merge "Cancel batch input when orientation has been changed"
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index d9a5209..20a299e 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -777,6 +777,15 @@
mDrawingProxy.showGesturePreviewTrail(this, isOldestTrackerInQueue(this));
}
+ private void cancelBatchInput() {
+ sPointerTrackerQueue.cancelAllPointerTracker();
+ sInGesture = false;
+ if (DEBUG_LISTENER) {
+ Log.d(TAG, String.format("[%d] onCancelBatchInput", mPointerId));
+ }
+ mListener.onCancelBatchInput();
+ }
+
public void processMotionEvent(final int action, final int x, final int y, final long eventTime,
final KeyEventHandler handler) {
switch (action) {
@@ -892,12 +901,7 @@
final boolean onValidArea = mGestureStrokeWithPreviewPoints.addPointOnKeyboard(
x, y, gestureTime, isMajorEvent);
if (!onValidArea) {
- sPointerTrackerQueue.cancelAllPointerTracker();
- if (DEBUG_LISTENER) {
- Log.d(TAG, String.format("[%d] onCancelBatchInput: batchPoints=%d",
- mPointerId, sAggregratedPointers.getPointerSize()));
- }
- mListener.onCancelBatchInput();
+ cancelBatchInput();
return;
}
mayStartBatchInput(key);
@@ -1162,8 +1166,11 @@
printTouchEvent("onCancelEvt:", x, y, eventTime);
}
- sPointerTrackerQueue.releaseAllPointersExcept(this, eventTime);
- sPointerTrackerQueue.remove(this);
+ if (sInGesture) {
+ cancelBatchInput();
+ }
+ sPointerTrackerQueue.cancelAllPointerTracker();
+ sPointerTrackerQueue.releaseAllPointers(eventTime);
onCancelEventInternal();
}
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 3935f99..305f38d 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1553,13 +1553,14 @@
private void showGesturePreviewAndSuggestionStrip(final SuggestedWords suggestedWords,
final boolean dismissGestureFloatingPreviewText) {
- final String batchInputText = suggestedWords.isEmpty()
- ? null : suggestedWords.getWord(0);
- final KeyboardView mainKeyboardView = mKeyboardSwitcher.getMainKeyboardView();
- mainKeyboardView.showGestureFloatingPreviewText(batchInputText);
showSuggestionStrip(suggestedWords, null);
+ final KeyboardView mainKeyboardView = mKeyboardSwitcher.getMainKeyboardView();
if (dismissGestureFloatingPreviewText) {
mainKeyboardView.dismissGestureFloatingPreviewText();
+ } else {
+ final String batchInputText = suggestedWords.isEmpty()
+ ? null : suggestedWords.getWord(0);
+ mainKeyboardView.showGestureFloatingPreviewText(batchInputText);
}
}