aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYohei Yukawa <yukawa@google.com>2014-09-29 16:17:52 +0900
committerYohei Yukawa <yukawa@google.com>2014-09-29 17:03:29 +0900
commitde12c1bf49efb6ac9b7127933eebb08956488ace (patch)
tree786f175a7f5c0938663e6c17d7861778a647a92e
parentbe4e0d0e3921af3d575f745cb356704974362baf (diff)
downloadlatinime-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.java6
-rw-r--r--java/src/com/android/inputmethod/keyboard/TextDecorator.java2
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;
}