summaryrefslogtreecommitdiff
path: root/core/java/android/inputmethodservice/IInputMethodWrapper.java
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2017-02-12 02:08:06 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-02-12 02:08:10 +0000
commit9a49f85ae4ae45343838b189cdfd884ffabbd5ff (patch)
treeb5d929dd4328d7bdc330ca9eb3e9e2770623f62a /core/java/android/inputmethodservice/IInputMethodWrapper.java
parentaab4e11c0ac5a73cd5ab7f6e6fb6b9de8c9ffd84 (diff)
parent3eaf8674872824e4d44a1de7ad72529c299634f7 (diff)
Merge "Revert "Merge restartInput into startInput in internal IPC""
Diffstat (limited to 'core/java/android/inputmethodservice/IInputMethodWrapper.java')
-rw-r--r--core/java/android/inputmethodservice/IInputMethodWrapper.java34
1 files changed, 25 insertions, 9 deletions
diff --git a/core/java/android/inputmethodservice/IInputMethodWrapper.java b/core/java/android/inputmethodservice/IInputMethodWrapper.java
index bdc301c41adf..167d5a09a2dc 100644
--- a/core/java/android/inputmethodservice/IInputMethodWrapper.java
+++ b/core/java/android/inputmethodservice/IInputMethodWrapper.java
@@ -61,6 +61,7 @@ class IInputMethodWrapper extends IInputMethod.Stub
private static final int DO_SET_INPUT_CONTEXT = 20;
private static final int DO_UNSET_INPUT_CONTEXT = 30;
private static final int DO_START_INPUT = 32;
+ private static final int DO_RESTART_INPUT = 34;
private static final int DO_CREATE_SESSION = 40;
private static final int DO_SET_SESSION_ENABLED = 45;
private static final int DO_REVOKE_SESSION = 50;
@@ -165,17 +166,24 @@ class IInputMethodWrapper extends IInputMethod.Stub
case DO_START_INPUT: {
SomeArgs args = (SomeArgs)msg.obj;
int missingMethods = msg.arg1;
- boolean restarting = msg.arg2 != 0;
IInputContext inputContext = (IInputContext)args.arg1;
InputConnection ic = inputContext != null
? new InputConnectionWrapper(mTarget, inputContext, missingMethods) : null;
EditorInfo info = (EditorInfo)args.arg2;
info.makeCompatible(mTargetSdkVersion);
- if (restarting) {
- inputMethod.restartInput(ic, info);
- } else {
- inputMethod.startInput(ic, info);
- }
+ inputMethod.startInput(ic, info);
+ args.recycle();
+ return;
+ }
+ case DO_RESTART_INPUT: {
+ SomeArgs args = (SomeArgs)msg.obj;
+ int missingMethods = msg.arg1;
+ IInputContext inputContext = (IInputContext)args.arg1;
+ InputConnection ic = inputContext != null
+ ? new InputConnectionWrapper(mTarget, inputContext, missingMethods) : null;
+ EditorInfo info = (EditorInfo)args.arg2;
+ info.makeCompatible(mTargetSdkVersion);
+ inputMethod.restartInput(ic, info);
args.recycle();
return;
}
@@ -257,9 +265,17 @@ class IInputMethodWrapper extends IInputMethod.Stub
@Override
public void startInput(IInputContext inputContext,
@InputConnectionInspector.MissingMethodFlags final int missingMethods,
- EditorInfo attribute, boolean restarting) {
- mCaller.executeOrSendMessage(mCaller.obtainMessageIIOO(DO_START_INPUT,
- missingMethods, restarting ? 1 : 0, inputContext, attribute));
+ EditorInfo attribute) {
+ mCaller.executeOrSendMessage(mCaller.obtainMessageIOO(DO_START_INPUT,
+ missingMethods, inputContext, attribute));
+ }
+
+ @Override
+ public void restartInput(IInputContext inputContext,
+ @InputConnectionInspector.MissingMethodFlags final int missingMethods,
+ EditorInfo attribute) {
+ mCaller.executeOrSendMessage(mCaller.obtainMessageIOO(DO_RESTART_INPUT,
+ missingMethods, inputContext, attribute));
}
@Override