Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9d48ffd authored by Wilson Wu's avatar Wilson Wu Committed by Android (Google) Code Review
Browse files

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

parents 607bdbf7 a210826f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -295,8 +295,8 @@ public class DisplayImeController implements DisplayController.OnDisplaysChanged
                        mImeSourceControl.release(SurfaceControl::release);
                    }
                }
                mImeSourceControl = imeSourceControl;
            }
            mImeSourceControl = imeSourceControl;
        }

        private void applyVisibilityToLeash(InsetsSourceControl imeSourceControl) {
+18 −0
Original line number Diff line number Diff line
@@ -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));