From 8353e751cae4a26d186fb645e9d3d40e1bc5d14b Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Wed, 9 Jan 2013 15:26:03 +0900
Subject: [PATCH] Don't cancel gesture typing while more keys keyboard is shown

Bug: 7964225
Change-Id: I4c572527b6f399282bdd963e38c147c7e69815ac
---
 .../src/com/android/inputmethod/keyboard/PointerTracker.java | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index 59a3c99aa5..1ee87bebbf 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -791,6 +791,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
 
     private void cancelBatchInput() {
         sPointerTrackerQueue.cancelAllPointerTracker();
+        mIsDetectingGesture = false;
         if (!sInGesture) {
             return;
         }
@@ -918,6 +919,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
         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 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
 
     @Override
     public void cancelTracking() {
+        if (isShowingMoreKeysPanel()) {
+            return;
+        }
         mIsTrackingCanceled = true;
     }
 
-- 
GitLab