diff options
author | 2010-08-31 17:21:01 -0700 | |
---|---|---|
committer | 2010-08-31 17:21:01 -0700 | |
commit | 5bb2e9a55de237e1955ac1fd19eea3771e671afe (patch) | |
tree | 09e2b6a2d2b94222e11cad2fac5c08281675e9e2 /java/src | |
parent | 725e94482d52e76aa4d9a9720a55289b528b47d8 (diff) | |
parent | b24cc640c1485590b1e9912397ea9acd68b43d99 (diff) | |
download | latinime-5bb2e9a55de237e1955ac1fd19eea3771e671afe.tar.gz latinime-5bb2e9a55de237e1955ac1fd19eea3771e671afe.tar.xz latinime-5bb2e9a55de237e1955ac1fd19eea3771e671afe.zip |
am b24cc640: Fix ArrayIndexOutOfBoundsException.
Merge commit 'b24cc640c1485590b1e9912397ea9acd68b43d99' into gingerbread-plus-aosp
* commit 'b24cc640c1485590b1e9912397ea9acd68b43d99':
Fix ArrayIndexOutOfBoundsException.
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java index efce0d193..280801a55 100644 --- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java +++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java @@ -500,8 +500,9 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener if (!wasInKeyRepeat && !mProxy.isMiniKeyboardOnScreen()) { detectAndSendKey(mCurrentKey, touchX, touchY, eventTime); } - if (keyIndex != NOT_A_KEY) + if (keyIndex != NOT_A_KEY && keyIndex < mKeys.length) { mProxy.invalidateKey(mKeys[keyIndex]); + } } public void onCancelEvent(int touchX, int touchY, long eventTime) { @@ -509,8 +510,9 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener mHandler.cancelPopupPreview(); mProxy.dismissPopupKeyboard(); showKeyPreviewAndUpdateKey(NOT_A_KEY); - if (mCurrentKey != NOT_A_KEY) + if (mCurrentKey != NOT_A_KEY && mCurrentKey < mKeys.length) { mProxy.invalidateKey(mKeys[mCurrentKey]); + } } public void repeatKey(int keyIndex) { @@ -670,7 +672,7 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener } private void checkMultiTap(long eventTime, int keyIndex) { - if (keyIndex == NOT_A_KEY) return; + if (keyIndex == NOT_A_KEY || keyIndex >= mKeys.length) return; Key key = mKeys[keyIndex]; if (key.codes.length > 1) { mInMultiTap = true; |