aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2010-08-31 17:21:01 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-08-31 17:21:01 -0700
commit5bb2e9a55de237e1955ac1fd19eea3771e671afe (patch)
tree09e2b6a2d2b94222e11cad2fac5c08281675e9e2 /java/src
parent725e94482d52e76aa4d9a9720a55289b528b47d8 (diff)
parentb24cc640c1485590b1e9912397ea9acd68b43d99 (diff)
downloadlatinime-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.java8
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;