Bugfix: IME gives haptic feedback when button wasn't pressed

bug: 3142416
Change-Id: If7630b89d6c2a8ec38e191c263c03f8f11d3c498
diff --git a/java/src/com/android/inputmethod/latin/PointerTracker.java b/java/src/com/android/inputmethod/latin/PointerTracker.java
index 448e279..f6fd5bd 100644
--- a/java/src/com/android/inputmethod/latin/PointerTracker.java
+++ b/java/src/com/android/inputmethod/latin/PointerTracker.java
@@ -272,11 +272,12 @@
         mIsRepeatableKey = false;
         checkMultiTap(eventTime, keyIndex);
         if (mListener != null) {
-            int primaryCode = isValidKeyIndex(keyIndex) ? mKeys[keyIndex].codes[0] : 0;
-            mListener.onPress(primaryCode);
-            // This onPress call may have changed keyboard layout and have updated mKeyIndex.
-            // If that's the case, mKeyIndex has been updated in setKeyboard().
-            keyIndex = mKeyState.getKeyIndex();
+            if (isValidKeyIndex(keyIndex)) {
+                mListener.onPress(mKeys[keyIndex].codes[0]);
+                // This onPress call may have changed keyboard layout and have updated mKeyIndex.
+                // If that's the case, mKeyIndex has been updated in setKeyboard().
+                keyIndex = mKeyState.getKeyIndex();
+            }
         }
         if (isValidKeyIndex(keyIndex)) {
             if (mKeys[keyIndex].repeatable) {