summaryrefslogtreecommitdiff
path: root/core/java/android/inputmethodservice/RemoteInputConnection.java
diff options
context:
space:
mode:
authorTaran Singh <tarandeep@google.com>2022-02-22 17:02:46 +0000
committerTaran Singh <tarandeep@google.com>2022-03-01 19:05:50 +0000
commit472e5c3825d7ceda20f3c8802c69de0d0a72873c (patch)
treedafb0c9e4fdacc4f49e3cf90ce7a36b2699eee6e /core/java/android/inputmethodservice/RemoteInputConnection.java
parent3e4365b8ed6a9c03ddaf9f420dc31900b0c2fbd0 (diff)
Incorporate API feedback: CAI requestCursorUpdates()
1. Use intDef for CurosrUpdateFilter 2. overload requestCursorUpdates(mode, filter) 3. additional details in javadoc Fix: 218314883 Bug: 210039666 Test: atest CtsInputMethodTestCases Change-Id: I1dc5acac4f968b2a2d1780f2ee6c0145c7dcbbaa
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.