Merge "Fix IME not shown from recents to split-screen task"

This commit is contained in:
Wilson Wu
2022-11-28 02:46:44 +00:00
committed by Android (Google) Code Review
2 changed files with 19 additions and 1 deletions

View File

@@ -295,8 +295,8 @@ public class DisplayImeController implements DisplayController.OnDisplaysChanged
mImeSourceControl.release(SurfaceControl::release);
}
}
mImeSourceControl = imeSourceControl;
}
mImeSourceControl = imeSourceControl;
}
private void applyVisibilityToLeash(InsetsSourceControl imeSourceControl) {

View File

@@ -21,7 +21,9 @@ import static android.view.InsetsState.ITYPE_IME;
import static android.view.Surface.ROTATION_0;
import static android.view.WindowInsets.Type.ime;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
@@ -89,6 +91,22 @@ public class DisplayImeControllerTest extends ShellTestCase {
verifyZeroInteractions(mExecutor);
}
@Test
public void insetsControlChanged_updateExpectedImeSourceControl() {
final InsetsSourceControl[] insetsSourceControls = new InsetsSourceControl[]{
new InsetsSourceControl(ITYPE_IME, mock(SurfaceControl.class), false,
new Point(0, 0), Insets.NONE)};
final InsetsSourceControl imeSourceControl = insetsSourceControls[0];
mPerDisplay.insetsControlChanged(insetsStateWithIme(false), insetsSourceControls);
assertEquals(imeSourceControl, mPerDisplay.mImeSourceControl);
mPerDisplay.insetsControlChanged(insetsStateWithIme(false), null);
assertNull(mPerDisplay.mImeSourceControl);
}
@Test
public void insetsChanged_schedulesNoWorkOnExecutor() {
mPerDisplay.insetsChanged(insetsStateWithIme(false));