summaryrefslogtreecommitdiff
path: root/core/java/android/inputmethodservice/InputMethodService.java
diff options
context:
space:
mode:
authorAdam He <adamhe@google.com>2020-02-14 21:24:33 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-02-14 21:24:33 +0000
commit677db1865c752e0992320ffc51690ace48cb3392 (patch)
tree4eba2a653dbd182802155c32a696cf52f5ea84b2 /core/java/android/inputmethodservice/InputMethodService.java
parent0a9d74fc03cb7df6da9d3dea5ad30247b13e8b9d (diff)
parent401162563844fe484e21082b25cf1843f393aaff (diff)
Merge "Move rendering logic for inline suggestions to ExtServices."
Diffstat (limited to 'core/java/android/inputmethodservice/InputMethodService.java')
-rw-r--r--core/java/android/inputmethodservice/InputMethodService.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java
index 49e1d5e4f213..a95938b5db2d 100644
--- a/core/java/android/inputmethodservice/InputMethodService.java
+++ b/core/java/android/inputmethodservice/InputMethodService.java
@@ -789,6 +789,7 @@ public class InputMethodService extends AbstractInputMethodService {
Log.w(TAG, "onCreateInlineSuggestionsRequest() returned null request");
requestCallback.onInlineSuggestionsUnsupported();
} else {
+ request.setHostInputToken(getHostInputToken());
final IInlineSuggestionsResponseCallback inlineSuggestionsResponseCallback =
new InlineSuggestionsResponseCallbackImpl(this,
mInlineSuggestionsRequestInfo.mComponentName,
@@ -833,6 +834,18 @@ public class InputMethodService extends AbstractInputMethodService {
onInlineSuggestionsResponse(response);
}
+ /**
+ * Returns the {@link IBinder} input token from the host view root.
+ */
+ @Nullable
+ private IBinder getHostInputToken() {
+ ViewRootImpl viewRoot = null;
+ if (mRootView != null) {
+ viewRoot = mRootView.getViewRootImpl();
+ }
+ return viewRoot == null ? null : viewRoot.getInputToken();
+ }
+
private void notifyImeHidden() {
setImeWindowStatus(IME_ACTIVE | IME_INVISIBLE, mBackDisposition);
onPreRenderedWindowVisibilityChanged(false /* setVisible */);