diff options
author | 2014-09-29 16:17:52 +0900 | |
---|---|---|
committer | 2014-09-29 17:03:29 +0900 | |
commit | de12c1bf49efb6ac9b7127933eebb08956488ace (patch) | |
tree | 786f175a7f5c0938663e6c17d7861778a647a92e | |
parent | be4e0d0e3921af3d575f745cb356704974362baf (diff) | |
download | latinime-de12c1bf49efb6ac9b7127933eebb08956488ace.tar.gz latinime-de12c1bf49efb6ac9b7127933eebb08956488ace.tar.xz latinime-de12c1bf49efb6ac9b7127933eebb08956488ace.zip |
Fix NPE due to the lack of null-check
The case that was not coverted well is that
CursorAnchorInfoCompatWrapper could be instantiated
with null object. In such situations, we should
do nothing.
BUG: 17682582
Change-Id: I6625a2f0ed8c5580ed9edfe4728f342da77a8e40
-rw-r--r-- | java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java | 6 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/TextDecorator.java | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java b/java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java index c937eeeaa..5af31795c 100644 --- a/java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java +++ b/java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java @@ -84,8 +84,8 @@ public final class CursorAnchorInfoCompatWrapper { } @UsedForTesting - public static boolean isAvailable() { - return sCursorAnchorInfoClass.exists(); + public boolean isAvailable() { + return sCursorAnchorInfoClass.exists() && mInstance != null; } private Object mInstance; @@ -96,7 +96,7 @@ public final class CursorAnchorInfoCompatWrapper { @UsedForTesting public static CursorAnchorInfoCompatWrapper fromObject(final Object instance) { - if (!isAvailable()) { + if (!sCursorAnchorInfoClass.exists()) { return new CursorAnchorInfoCompatWrapper(null); } return new CursorAnchorInfoCompatWrapper(instance); diff --git a/java/src/com/android/inputmethod/keyboard/TextDecorator.java b/java/src/com/android/inputmethod/keyboard/TextDecorator.java index 6e4e3281e..c22717f95 100644 --- a/java/src/com/android/inputmethod/keyboard/TextDecorator.java +++ b/java/src/com/android/inputmethod/keyboard/TextDecorator.java @@ -182,7 +182,7 @@ public class TextDecorator { private void layoutMain() { final CursorAnchorInfoCompatWrapper info = mCursorAnchorInfoWrapper; - if (info == null) { + if (info == null || !info.isAvailable()) { cancelLayoutInternalExpectedly("CursorAnchorInfo isn't available."); return; } |