diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2017-02-12 02:08:06 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-02-12 02:08:10 +0000 |
| commit | 9a49f85ae4ae45343838b189cdfd884ffabbd5ff (patch) | |
| tree | b5d929dd4328d7bdc330ca9eb3e9e2770623f62a /core/java/android/inputmethodservice/IInputMethodWrapper.java | |
| parent | aab4e11c0ac5a73cd5ab7f6e6fb6b9de8c9ffd84 (diff) | |
| parent | 3eaf8674872824e4d44a1de7ad72529c299634f7 (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.java | 34 |
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 |
