Revert hide logic in ImeInsetsSourceConsumer#setControl
CL[1] using isRequestedVisibleAwaitingControl() in ImeInsetsSourceconsumer#setControl to hide IME surface when it returned false without waiting control or requesting visible to deal with the unexpecting hide IME cases during the testing. However, when calling IMM#toggleSoftInput to reqest showing keyboard on the dialog implicitly that will set requrested visible on both the caller window and the dialog window, since toggleSoftInput didn't explicit set the target window but just using the caller window as requester implicitly. It causes a regression that can't hide the IME surface when dismissing the dialog to back to the caller window that the IME insets source control is null but isRequestedVisibleAwaitingControl still returned true because isRequestedVisible has been set true for the toggerSoftInput caller window. Revert logic in setControl to use mIsRequestedVisibleAwaitingControl in case the IME surface won't be removed when backing to the implicit caller window of toggleSoftInput. [1]: I3071af14bf78e23f9526d6a9c138ab6ae2e0e339 Bug: 207092186 Bug: 204524304 Test: manual Test: atest CtsInputMethodTestCases Test: atest WindowInsetsAnimationControllerTests Change-Id: Ic5265a6c3f2eba77d43832d23309998bf3cb1671
Loading
Please register or sign in to comment