Cancel batch input when orientation has been changed

Bug: 7665231
Bug: 7662486
Change-Id: I7b6095026dbf1b9b2f6d3b29f2ab83c462ab374e
main
Tadashi G. Takaoka 2012-12-05 17:49:35 -08:00
parent b494b30453
commit 8e2b34cdb2
2 changed files with 20 additions and 12 deletions

View File

@ -777,6 +777,15 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
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 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
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 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
printTouchEvent("onCancelEvt:", x, y, eventTime);
}
sPointerTrackerQueue.releaseAllPointersExcept(this, eventTime);
sPointerTrackerQueue.remove(this);
if (sInGesture) {
cancelBatchInput();
}
sPointerTrackerQueue.cancelAllPointerTracker();
sPointerTrackerQueue.releaseAllPointers(eventTime);
onCancelEventInternal();
}

View File

@ -1553,13 +1553,14 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
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);
}
}