Make sure to obtain the IC before requesting CursorAnchorInfo
RichInputConnection#requestUpdateCursorAnchorInfo must make
sure to obtain the input connection before calling methods
of it.
BUG: 17299587
Change-Id: I8e0cd473a4cc32583cd47634c227d702f7c69c6c
diff --git a/java/src/com/android/inputmethod/latin/RichInputConnection.java b/java/src/com/android/inputmethod/latin/RichInputConnection.java
index 497823a..f1c7f43 100644
--- a/java/src/com/android/inputmethod/latin/RichInputConnection.java
+++ b/java/src/com/android/inputmethod/latin/RichInputConnection.java
@@ -924,8 +924,14 @@
*/
public boolean requestUpdateCursorAnchorInfo(final boolean enableMonitor,
final boolean requestImmediateCallback) {
- final boolean scheduled = InputConnectionCompatUtils.requestUpdateCursorAnchorInfo(mIC,
- enableMonitor, requestImmediateCallback);
+ mIC = mParent.getCurrentInputConnection();
+ final boolean scheduled;
+ if (null != mIC) {
+ scheduled = InputConnectionCompatUtils.requestUpdateCursorAnchorInfo(mIC,
+ enableMonitor, requestImmediateCallback);
+ } else {
+ scheduled = false;
+ }
mCursorAnchorInfoMonitorEnabled = (scheduled && enableMonitor);
return scheduled;
}