From 9dce586eaa8a99fac05da398694d6e26b2a6dfa8 Mon Sep 17 00:00:00 2001 From: Ken Wakasa Date: Fri, 29 Oct 2010 03:15:02 +0900 Subject: [PATCH] Bugfix: IME gives haptic feedback when button wasn't pressed bug: 3142416 Change-Id: If7630b89d6c2a8ec38e191c263c03f8f11d3c498 --- .../com/android/inputmethod/latin/PointerTracker.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/PointerTracker.java b/java/src/com/android/inputmethod/latin/PointerTracker.java index 448e27910..f6fd5bd7a 100644 --- a/java/src/com/android/inputmethod/latin/PointerTracker.java +++ b/java/src/com/android/inputmethod/latin/PointerTracker.java @@ -272,11 +272,12 @@ public class PointerTracker { 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) {