diff options
Diffstat (limited to 'core/java/android/inputmethodservice/RemoteInputConnection.java')
| -rw-r--r-- | core/java/android/inputmethodservice/RemoteInputConnection.java | 20 |
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. |
