Merge "Don't cancel gesture typing while more keys keyboard is shown"
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index 59a3c99..1ee87be 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -791,6 +791,7 @@
 
     private void cancelBatchInput() {
         sPointerTrackerQueue.cancelAllPointerTracker();
+        mIsDetectingGesture = false;
         if (!sInGesture) {
             return;
         }
@@ -918,6 +919,7 @@
         if (mIsDetectingGesture) {
             final boolean onValidArea = mGestureStrokeWithPreviewPoints.addPointOnKeyboard(
                     x, y, gestureTime, isMajorEvent);
+            // If the move event goes out from valid batch input area, cancel batch input.
             if (!onValidArea) {
                 cancelBatchInput();
                 return;
@@ -1196,6 +1198,9 @@
 
     @Override
     public void cancelTracking() {
+        if (isShowingMoreKeysPanel()) {
+            return;
+        }
         mIsTrackingCanceled = true;
     }