diff options
author | 2012-10-02 22:41:25 -0700 | |
---|---|---|
committer | 2012-10-02 22:41:25 -0700 | |
commit | ace7d1285dc1d4ba42d4f767698c5b6078ecbac2 (patch) | |
tree | 4ffba8ea02830105f386734a431e7f0565c51587 /java/src/com/android/inputmethod/latin/WordComposer.java | |
parent | de102ede499cd3baf93561d06c5fe3e663276d2e (diff) | |
parent | d445b56ce14152b30143302899790af255691148 (diff) | |
download | latinime-ace7d1285dc1d4ba42d4f767698c5b6078ecbac2.tar.gz latinime-ace7d1285dc1d4ba42d4f767698c5b6078ecbac2.tar.xz latinime-ace7d1285dc1d4ba42d4f767698c5b6078ecbac2.zip |
am d445b56c: Fix possible NPE caused while monkey test
* commit 'd445b56ce14152b30143302899790af255691148':
Fix possible NPE caused while monkey test
Diffstat (limited to 'java/src/com/android/inputmethod/latin/WordComposer.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/WordComposer.java | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java index 8a1bbed12..da0071adc 100644 --- a/java/src/com/android/inputmethod/latin/WordComposer.java +++ b/java/src/com/android/inputmethod/latin/WordComposer.java @@ -177,14 +177,16 @@ public final class WordComposer { * Internal method to retrieve reasonable proximity info for a character. */ private void addKeyInfo(final int codePoint, final Keyboard keyboard) { - final Key key = keyboard.getKey(codePoint); - if (key != null) { - final int x = key.mX + key.mWidth / 2; - final int y = key.mY + key.mHeight / 2; - add(codePoint, x, y); - return; + final int x, y; + final Key key; + if (keyboard != null && (key = keyboard.getKey(codePoint)) != null) { + x = key.mX + key.mWidth / 2; + y = key.mY + key.mHeight / 2; + } else { + x = Constants.NOT_A_COORDINATE; + y = Constants.NOT_A_COORDINATE; } - add(codePoint, Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE); + add(codePoint, x, y); } /** @@ -195,7 +197,7 @@ public final class WordComposer { reset(); final int length = word.length(); for (int i = 0; i < length; i = Character.offsetByCodePoints(word, i, 1)) { - int codePoint = Character.codePointAt(word, i); + final int codePoint = Character.codePointAt(word, i); addKeyInfo(codePoint, keyboard); } mIsResumed = true; |