Always send WindowToken when starting IME input
In InputMethodManagerService, windowGainedFocus() is a superset of startInput(). If the window specified to windowGainedFocus() is already seen in IMMS#mCurFocusedWindow, windowGainedFocus() just works like startInput(). If the window specified to windowGainedFocus() does not match to IMMS#mCurFocusedWindow, then it takes care of everything we need to change the IME target window including tasks that startInput() does. The reason why we still have startInput() is just because my previous CL [1], which unified windowGainedFocus() and startInput() with keeping the existing behavior, did not intend to change the existing behavior. Now that we are going to enforce true traceability between input session and target application window, IMMS#windowGainedFocus() is what we want to always rely on. Bug: 110531072 Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases Change-Id: I24feedf9ef5aca90ef947f4f2aa3e78365fd8c8a
Loading
Please register or sign in to comment