summaryrefslogtreecommitdiff
path: root/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
diff options
context:
space:
mode:
authorMing-Shin Lu <lumark@google.com>2020-12-04 03:21:12 +0000
committerMing-Shin Lu <lumark@google.com>2020-12-04 11:40:20 +0800
commit4ba8484ffbef4fac301ea70210549692e9684e0d (patch)
treeba627f1dfcd7e7a252579b0321e0c0372dd874d4 /core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
parentd1ea1214b250539fe35132e7526e94073a6d31b0 (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.java10
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>();