aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-12-05 17:49:35 -0800
committerTadashi G. Takaoka <takaoka@google.com>2012-12-06 14:24:05 -0800
commit8e2b34cdb24adb1563cc296a4741be7391fa24e9 (patch)
treec046f87ae29d58176152c7cd121bcd203d616687 /java/src
parentb494b30453f7b5f3c3c10d3e9c5b406f722025c4 (diff)
downloadlatinime-8e2b34cdb24adb1563cc296a4741be7391fa24e9.tar.gz
latinime-8e2b34cdb24adb1563cc296a4741be7391fa24e9.tar.xz
latinime-8e2b34cdb24adb1563cc296a4741be7391fa24e9.zip
Cancel batch input when orientation has been changed
Bug: 7665231 Bug: 7662486 Change-Id: I7b6095026dbf1b9b2f6d3b29f2ab83c462ab374e
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/PointerTracker.java23
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java9
2 files changed, 20 insertions, 12 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index d9a520917..20a299e49 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -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();
}
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 3935f99ab..305f38d8c 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -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);
}
}