diff options
| author | Taran Singh <tarandeep@google.com> | 2022-02-22 17:02:46 +0000 |
|---|---|---|
| committer | Taran Singh <tarandeep@google.com> | 2022-03-01 19:05:50 +0000 |
| commit | 472e5c3825d7ceda20f3c8802c69de0d0a72873c (patch) | |
| tree | dafb0c9e4fdacc4f49e3cf90ce7a36b2699eee6e /core/java/android/inputmethodservice/RemoteInputConnection.java | |
| parent | 3e4365b8ed6a9c03ddaf9f420dc31900b0c2fbd0 (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.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. |
