summaryrefslogtreecommitdiff
path: root/core/java/android/inputmethodservice/RemoteInputConnection.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/inputmethodservice/RemoteInputConnection.java')
-rw-r--r--core/java/android/inputmethodservice/RemoteInputConnection.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/inputmethodservice/RemoteInputConnection.java b/core/java/android/inputmethodservice/RemoteInputConnection.java
index 6b7815d0f732..5b0129ee814c 100644
--- a/core/java/android/inputmethodservice/RemoteInputConnection.java
+++ b/core/java/android/inputmethodservice/RemoteInputConnection.java
@@ -433,6 +433,26 @@ public final class RemoteInputConnection implements InputConnection {
mCancellationGroup, MAX_WAIT_TIME_MILLIS);
}
+ @Override
+ @AnyThread
+ public boolean requestCursorUpdates(@CursorUpdateMode int cursorUpdateMode,
+ @CursorUpdateFilter int cursorUpdateFilter) {
+ if (mCancellationGroup.isCanceled()) {
+ return false;
+ }
+
+ final InputMethodServiceInternal ims = mImsInternal.getAndWarnIfNull();
+ if (ims == null) {
+ return false;
+ }
+
+ final int displayId = ims.getContext().getDisplayId();
+ final CompletableFuture<Boolean> value =
+ mInvoker.requestCursorUpdates(cursorUpdateMode, cursorUpdateFilter, displayId);
+ return CompletableFutureUtil.getResultOrFalse(value, TAG, "requestCursorUpdates()",
+ mCancellationGroup, MAX_WAIT_TIME_MILLIS);
+ }
+
@AnyThread
public Handler getHandler() {
// Nothing should happen when called from input method.