diff options
| author | Ming-Shin Lu <lumark@google.com> | 2020-12-04 03:21:12 +0000 |
|---|---|---|
| committer | Ming-Shin Lu <lumark@google.com> | 2020-12-04 11:40:20 +0800 |
| commit | 4ba8484ffbef4fac301ea70210549692e9684e0d (patch) | |
| tree | ba627f1dfcd7e7a252579b0321e0c0372dd874d4 /core/java/android/inputmethodservice/IInputMethodSessionWrapper.java | |
| parent | d1ea1214b250539fe35132e7526e94073a6d31b0 (diff) | |
Revert "Revert "Let IME#onFinishInput called without dup onStart..."
Revert^2 "Verify lifecycle test when screen on/off"
c2769e41ea17d7f0d261396d28ddde3563422701
Reason: Fix forward Bug 174512702 and Bug 174445559
with CL[1].
CL[1]: Icf1504d40b25fc5f53eae65d4bab48a3070db1d6
Change-Id: Id4e71a822bfde5fe6a263bbe094c0d238017efe1
Diffstat (limited to 'core/java/android/inputmethodservice/IInputMethodSessionWrapper.java')
| -rw-r--r-- | core/java/android/inputmethodservice/IInputMethodSessionWrapper.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java b/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java index e9de27456f97..0766917642e8 100644 --- a/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java +++ b/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java @@ -54,6 +54,8 @@ class IInputMethodSessionWrapper extends IInputMethodSession.Stub private static final int DO_VIEW_CLICKED = 115; private static final int DO_NOTIFY_IME_HIDDEN = 120; private static final int DO_REMOVE_IME_SURFACE = 130; + private static final int DO_FINISH_INPUT = 140; + @UnsupportedAppUsage HandlerCaller mCaller; @@ -141,6 +143,10 @@ class IInputMethodSessionWrapper extends IInputMethodSession.Stub mInputMethodSession.removeImeSurface(); return; } + case DO_FINISH_INPUT: { + mInputMethodSession.finishInput(); + return; + } } Log.w(TAG, "Unhandled message code: " + msg.what); } @@ -222,6 +228,10 @@ class IInputMethodSessionWrapper extends IInputMethodSession.Stub mCaller.executeOrSendMessage(mCaller.obtainMessage(DO_FINISH_SESSION)); } + @Override + public void finishInput() { + mCaller.executeOrSendMessage(mCaller.obtainMessage(DO_FINISH_INPUT)); + } private final class ImeInputEventReceiver extends InputEventReceiver implements InputMethodSession.EventCallback { private final SparseArray<InputEvent> mPendingEvents = new SparseArray<InputEvent>(); |
