From 633e4f45330cf32d76c29d999b723ddeafd3a90c Mon Sep 17 00:00:00 2001
From: Jean Chalard <jchalard@google.com>
Date: Thu, 27 Mar 2014 14:34:45 +0900
Subject: [PATCH] [CB22] Merge add and delete

...but this time, it works.

Bug: 13406701
Change-Id: Iaa00339a6be76413ffaeb74ff1556e15b3bb039d
---
 .../inputmethod/latin/WordComposer.java       | 34 ++++++++-----------
 1 file changed, 15 insertions(+), 19 deletions(-)

diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java
index 87cf644619..d30ed2ef89 100644
--- a/java/src/com/android/inputmethod/latin/WordComposer.java
+++ b/java/src/com/android/inputmethod/latin/WordComposer.java
@@ -169,26 +169,7 @@ public final class WordComposer {
      * coordinates.
      */
     public void add(final Event event) {
-        final int primaryCode = event.mCodePoint;
-        final int keyX = event.mX;
-        final int keyY = event.mY;
-        final int newIndex = size();
         processEvent(event);
-        if (newIndex < MAX_WORD_LENGTH) {
-            mPrimaryKeyCodes[newIndex] = primaryCode >= Constants.CODE_SPACE
-                    ? Character.toLowerCase(primaryCode) : primaryCode;
-            // In the batch input mode, the {@code mInputPointers} holds batch input points and
-            // shouldn't be overridden by the "typed key" coordinates
-            // (See {@link #setBatchInputWord}).
-            if (!mIsBatchMode) {
-                // TODO: Set correct pointer id and time
-                mInputPointers.addPointerAt(newIndex, keyX, keyY, 0, 0);
-            }
-        }
-        mIsFirstCharCapitalized = isFirstCharCapitalized(
-                newIndex, primaryCode, mIsFirstCharCapitalized);
-        if (Character.isUpperCase(primaryCode)) mCapsCount++;
-        if (Character.isDigit(primaryCode)) mDigitsCount++;
     }
 
     private void processEvent(final Event event) {
@@ -223,6 +204,21 @@ public final class WordComposer {
             } else {
                 mTrailingSingleQuotesCount = 0;
             }
+            if (newIndex < MAX_WORD_LENGTH) {
+                mPrimaryKeyCodes[newIndex] = primaryCode >= Constants.CODE_SPACE
+                        ? Character.toLowerCase(primaryCode) : primaryCode;
+                // In the batch input mode, the {@code mInputPointers} holds batch input points and
+                // shouldn't be overridden by the "typed key" coordinates
+                // (See {@link #setBatchInputWord}).
+                if (!mIsBatchMode) {
+                    // TODO: Set correct pointer id and time
+                    mInputPointers.addPointerAt(newIndex, keyX, keyY, 0, 0);
+                }
+            }
+            mIsFirstCharCapitalized = isFirstCharCapitalized(
+                    newIndex, primaryCode, mIsFirstCharCapitalized);
+            if (Character.isUpperCase(primaryCode)) mCapsCount++;
+            if (Character.isDigit(primaryCode)) mDigitsCount++;
         }
         mAutoCorrection = null;
     }
-- 
GitLab