summaryrefslogtreecommitdiff
path: root/core/java/android/inputmethodservice/InputMethodService.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/inputmethodservice/InputMethodService.java')
-rw-r--r--core/java/android/inputmethodservice/InputMethodService.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java
index aa3c3611fc7d..e02a01e5887e 100644
--- a/core/java/android/inputmethodservice/InputMethodService.java
+++ b/core/java/android/inputmethodservice/InputMethodService.java
@@ -135,6 +135,7 @@ import com.android.internal.inputmethod.ImeTracing;
import com.android.internal.inputmethod.InputMethodPrivilegedOperations;
import com.android.internal.inputmethod.InputMethodPrivilegedOperationsRegistry;
import com.android.internal.view.IInlineSuggestionsRequestCallback;
+import com.android.internal.view.IInputContext;
import com.android.internal.view.InlineSuggestionsRequestInfo;
import java.io.FileDescriptor;
@@ -1063,8 +1064,30 @@ public class InputMethodService extends AbstractInputMethodService {
public final void removeImeSurface() {
InputMethodService.this.scheduleImeSurfaceRemoval();
}
+
+ /**
+ * {@inheritDoc}
+ * @hide
+ */
+ @Override
+ public final void invalidateInputInternal(@NonNull EditorInfo editorInfo,
+ @NonNull IInputContext inputContext, int sessionId) {
+ if (mStartedInputConnection instanceof RemoteInputConnection) {
+ final RemoteInputConnection ric = (RemoteInputConnection) mStartedInputConnection;
+ if (!ric.isSameConnection(inputContext)) {
+ // This is not an error, and can be safely ignored.
+ if (DEBUG) {
+ Log.d(TAG, "ignoring invalidateInput() due to context mismatch.");
+ }
+ return;
+ }
+ editorInfo.makeCompatible(getApplicationInfo().targetSdkVersion);
+ getInputMethodInternal().restartInput(new RemoteInputConnection(ric, sessionId),
+ editorInfo);
+ }
+ }
}
-
+
/**
* Information about where interesting parts of the input method UI appear.
*/