diff options
author | 2009-10-09 07:03:11 -0700 | |
---|---|---|
committer | 2009-10-09 07:03:11 -0700 | |
commit | eef539c3f2b60af74a3ce05ac68288e7f86709ae (patch) | |
tree | 856528ea29b8a78b2e6f4173af9258bcf40e6f55 /src | |
parent | b3f6d58b6ec716c26df38b584eda061265437cf4 (diff) | |
download | latinime-eef539c3f2b60af74a3ce05ac68288e7f86709ae.tar.gz latinime-eef539c3f2b60af74a3ce05ac68288e7f86709ae.tar.xz latinime-eef539c3f2b60af74a3ce05ac68288e7f86709ae.zip |
Fix a potential IllegalArgumentException caught by monkeys. #2176776
For some reason the key code is outside the code point range. Adding
a safeguard to deal with possible out of range key codes.
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/inputmethod/latin/LatinIME.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/com/android/inputmethod/latin/LatinIME.java b/src/com/android/inputmethod/latin/LatinIME.java index 8c9102d8c..ae296aff6 100644 --- a/src/com/android/inputmethod/latin/LatinIME.java +++ b/src/com/android/inputmethod/latin/LatinIME.java @@ -693,6 +693,10 @@ public class LatinIME extends InputMethodService } if (mInputView.isShifted()) { // TODO: This doesn't work with ß, need to fix it in the next release. + if (keyCodes == null || keyCodes[0] < Character.MIN_CODE_POINT + || keyCodes[0] > Character.MAX_CODE_POINT) { + return; + } primaryCode = new String(keyCodes, 0, 1).toUpperCase().charAt(0); } if (mPredicting) { |