Do not re-calculate primary code in WordComposer

Bug: 4343280
Test: Ib43c0f1d1a19d067ea0

Change-Id: I3393a6099cb7fb824994f4656ccfef884f9c6bc4
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java
index 7c3d3c2..ac93045 100644
--- a/java/src/com/android/inputmethod/latin/WordComposer.java
+++ b/java/src/com/android/inputmethod/latin/WordComposer.java
@@ -139,9 +139,8 @@
             keyX = x;
             keyY = y;
         } else {
-            final Key key = keyDetector.detectHitKey(x, y);
             // TODO: Pass an integer instead of an integer array
-            codes = new int[] { key != null ? key.mCode : NOT_A_CODE };
+            codes = new int[] { primaryCode };
             keyX = keyDetector.getTouchX(x);
             keyY = keyDetector.getTouchY(y);
         }
@@ -158,7 +157,8 @@
         mTypedWord.appendCodePoint(primaryCode);
         refreshSize();
         if (newIndex < BinaryDictionary.MAX_WORD_LENGTH) {
-            mPrimaryKeyCodes[newIndex] = codes[0];
+            mPrimaryKeyCodes[newIndex] = primaryCode >= Keyboard.CODE_SPACE
+                    ? Character.toLowerCase(primaryCode) : primaryCode;
             mXCoordinates[newIndex] = keyX;
             mYCoordinates[newIndex] = keyY;
         }