Postpone gesture start detection on non-letter key

Bug: 7108223
Change-Id: Ie1ead5cec947ddf86c5150dca5b20b224527e511
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index d6c567e..cfd1e09 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -560,10 +560,13 @@
         return (sPointerTrackerQueue == null) ? 1 : sPointerTrackerQueue.size();
     }
 
-    private void mayStartBatchInput() {
+    private void mayStartBatchInput(final Key key) {
         if (sInGesture || !mGestureStrokeWithPreviewPoints.isStartOfAGesture()) {
             return;
         }
+        if (key == null || !Character.isLetter(key.mCode)) {
+            return;
+        }
         if (DEBUG_LISTENER) {
             Log.d(TAG, "onStartBatchInput");
         }
@@ -742,7 +745,7 @@
         final int gestureTime = (int)(eventTime - sGestureFirstDownTime);
         if (mIsDetectingGesture) {
             mGestureStrokeWithPreviewPoints.addPoint(x, y, gestureTime, isMajorEvent);
-            mayStartBatchInput();
+            mayStartBatchInput(key);
             if (sInGesture && key != null) {
                 updateBatchInput(eventTime);
             }