Fix WIC#hide(ime()) no-op after WIC#show(ime()) in Activity#onCreate
In InsetsController#hide, ensure to request hide IME with calling
ImeInsetsSurceConsumer#requestHide, in case the pending visible
request will triggger show after setControl.
Also, we modified PendingControlRequest to be able to remove from the
show insets type when it has being requested invisible by
InsetsController#hide(type), if the removed type contains the IME then
we handle the pending show control request for other types since it
is no longer needed to wait the IME ready to show.
Also, make sure set mIsRequestedVisibleAwaitingControl as false when
ImeInsetsSourceConsumer#notifyHidden to avoid the above pending visible
request happens.
Bug: 248456059
Test: atest CtsInputMethodTestCases
Test: atest InputMethodStressTest:ImeOpenCloseStressTest
Change-Id: Id3aebca3348888826bc5d3c6694e94cddb80b4d4
2 files changed