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

Commit 99657f4d authored by Nergi Rahardi's avatar Nergi Rahardi
Browse files

Refactor Inset tests to use WindowStateBuilder

Combining multiple classes since the changes are small
- ImeInsetsSourceProviderTest
- InsetsPolicyTest
- InsetsSourceProviderTest
- InsetsStateControllerTest

Bug: 383480021
Test: atest WmTests:ImeInsetsSourceProviderTest
Test: atest WmTests:InsetsPolicyTest
Test: atest WmTests:InsetsSourceProviderTest
Test: atest WmTests:InsetsStateControllerTest
Flag: EXEMPT cleaning up tests
Change-Id: I4b89d3f14bf7da457b9ec9674ce06fa430357c79
parent 65036c8b
Loading
Loading
Loading
Loading
+13 −12
Original line number Diff line number Diff line
@@ -56,12 +56,13 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testTransparentControlTargetWindowCanShowIme() {
        final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime");
        final WindowState ime = newWindowBuilder("ime", TYPE_INPUT_METHOD).build();
        makeWindowVisibleAndDrawn(ime);
        mImeProvider.setWindowContainer(ime, null, null);

        final WindowState appWin = createWindow(null, TYPE_APPLICATION, "app");
        final WindowState popup = createWindow(appWin, TYPE_APPLICATION, "popup");
        final WindowState appWin = newWindowBuilder("app", TYPE_APPLICATION).build();
        final WindowState popup = newWindowBuilder("popup", TYPE_APPLICATION).setParent(
                appWin).build();
        popup.mAttrs.format = PixelFormat.TRANSPARENT;
        mDisplayContent.setImeLayeringTarget(appWin);
        mDisplayContent.updateImeInputAndControlTarget(popup);
@@ -77,11 +78,11 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase {
    @Test
    @RequiresFlagsDisabled(Flags.FLAG_REFACTOR_INSETS_CONTROLLER)
    public void testScheduleShowIme() {
        final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime");
        final WindowState ime = newWindowBuilder("ime", TYPE_INPUT_METHOD).build();
        makeWindowVisibleAndDrawn(ime);
        mImeProvider.setWindowContainer(ime, null, null);

        final WindowState target = createWindow(null, TYPE_APPLICATION, "app");
        final WindowState target = newWindowBuilder("app", TYPE_APPLICATION).build();
        mDisplayContent.setImeLayeringTarget(target);
        mDisplayContent.updateImeInputAndControlTarget(target);
        performSurfacePlacementAndWaitForWindowAnimator();
@@ -105,14 +106,14 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase {
    @Test
    @RequiresFlagsDisabled(Flags.FLAG_REFACTOR_INSETS_CONTROLLER)
    public void testScheduleShowIme_noInitialState() {
        final WindowState target = createWindow(null, TYPE_APPLICATION, "app");
        final WindowState target = newWindowBuilder("app", TYPE_APPLICATION).build();

        // Schedule before anything is ready.
        mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty());
        assertFalse(mImeProvider.isScheduledAndReadyToShowIme());
        assertFalse(mImeProvider.isImeShowing());

        final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime");
        final WindowState ime = newWindowBuilder("ime", TYPE_INPUT_METHOD).build();
        makeWindowVisibleAndDrawn(ime);
        mImeProvider.setWindowContainer(ime, null, null);

@@ -133,11 +134,11 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase {
    @Test
    @RequiresFlagsDisabled(Flags.FLAG_REFACTOR_INSETS_CONTROLLER)
    public void testScheduleShowIme_delayedAfterPrepareSurfaces() {
        final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime");
        final WindowState ime = newWindowBuilder("ime", TYPE_INPUT_METHOD).build();
        makeWindowVisibleAndDrawn(ime);
        mImeProvider.setWindowContainer(ime, null, null);

        final WindowState target = createWindow(null, TYPE_APPLICATION, "app");
        final WindowState target = newWindowBuilder("app", TYPE_APPLICATION).build();
        mDisplayContent.setImeLayeringTarget(target);
        mDisplayContent.updateImeInputAndControlTarget(target);

@@ -166,11 +167,11 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase {
    @Test
    @RequiresFlagsDisabled(Flags.FLAG_REFACTOR_INSETS_CONTROLLER)
    public void testScheduleShowIme_delayedSurfacePlacement() {
        final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime");
        final WindowState ime = newWindowBuilder("ime", TYPE_INPUT_METHOD).build();
        makeWindowVisibleAndDrawn(ime);
        mImeProvider.setWindowContainer(ime, null, null);

        final WindowState target = createWindow(null, TYPE_APPLICATION, "app");
        final WindowState target = newWindowBuilder("app", TYPE_APPLICATION).build();
        mDisplayContent.setImeLayeringTarget(target);
        mDisplayContent.updateImeInputAndControlTarget(target);

@@ -191,7 +192,7 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testSetFrozen() {
        final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime");
        final WindowState ime = newWindowBuilder("ime", TYPE_INPUT_METHOD).build();
        makeWindowVisibleAndDrawn(ime);
        mImeProvider.setWindowContainer(ime, null, null);
        mImeProvider.setServerVisible(true);
+12 −9
Original line number Diff line number Diff line
@@ -106,8 +106,9 @@ public class InsetsPolicyTest extends WindowTestsBase {
        addStatusBar();
        addNavigationBar();

        final WindowState win = createWindow(null, WINDOWING_MODE_FREEFORM,
                ACTIVITY_TYPE_STANDARD, TYPE_APPLICATION, mDisplayContent, "app");
        final WindowState win = newWindowBuilder("app", TYPE_APPLICATION).setActivityType(
                ACTIVITY_TYPE_STANDARD).setWindowingMode(WINDOWING_MODE_FREEFORM).setDisplay(
                mDisplayContent).build();
        final InsetsSourceControl[] controls = addWindowAndGetControlsForDispatch(win);

        // The app must not control any system bars.
@@ -120,8 +121,9 @@ public class InsetsPolicyTest extends WindowTestsBase {
        addStatusBar();
        addNavigationBar();

        final WindowState win = createWindow(null, WINDOWING_MODE_FREEFORM,
                ACTIVITY_TYPE_STANDARD, TYPE_APPLICATION, mDisplayContent, "app");
        final WindowState win = newWindowBuilder("app", TYPE_APPLICATION).setActivityType(
                ACTIVITY_TYPE_STANDARD).setWindowingMode(WINDOWING_MODE_FREEFORM).setDisplay(
                mDisplayContent).build();
        win.setBounds(new Rect());
        final InsetsSourceControl[] controls = addWindowAndGetControlsForDispatch(win);

@@ -136,8 +138,9 @@ public class InsetsPolicyTest extends WindowTestsBase {
        addStatusBar();
        addNavigationBar();

        final WindowState win = createWindow(null, WINDOWING_MODE_FREEFORM,
                ACTIVITY_TYPE_STANDARD, TYPE_APPLICATION, mDisplayContent, "app");
        final WindowState win = newWindowBuilder("app", TYPE_APPLICATION).setActivityType(
                ACTIVITY_TYPE_STANDARD).setWindowingMode(WINDOWING_MODE_FREEFORM).setDisplay(
                mDisplayContent).build();
        win.getTask().setBounds(new Rect(1, 1, 10, 10));
        final InsetsSourceControl[] controls = addWindowAndGetControlsForDispatch(win);

@@ -582,7 +585,7 @@ public class InsetsPolicyTest extends WindowTestsBase {

    private WindowState addNavigationBar() {
        final Binder owner = new Binder();
        final WindowState win = createWindow(null, TYPE_NAVIGATION_BAR, "navBar");
        final WindowState win = newWindowBuilder("navBar", TYPE_NAVIGATION_BAR).build();
        win.mAttrs.flags |= FLAG_NOT_FOCUSABLE;
        win.mAttrs.providedInsets = new InsetsFrameProvider[] {
                new InsetsFrameProvider(owner, 0, WindowInsets.Type.navigationBars()),
@@ -595,7 +598,7 @@ public class InsetsPolicyTest extends WindowTestsBase {

    private WindowState addStatusBar() {
        final Binder owner = new Binder();
        final WindowState win = createWindow(null, TYPE_STATUS_BAR, "statusBar");
        final WindowState win = newWindowBuilder("statusBar", TYPE_STATUS_BAR).build();
        win.mAttrs.flags |= FLAG_NOT_FOCUSABLE;
        win.mAttrs.providedInsets = new InsetsFrameProvider[] {
                new InsetsFrameProvider(owner, 0, WindowInsets.Type.statusBars()),
@@ -607,7 +610,7 @@ public class InsetsPolicyTest extends WindowTestsBase {
    }

    private WindowState addWindow(int type, String name) {
        final WindowState win = createWindow(null, type, name);
        final WindowState win = newWindowBuilder(name, type).build();
        mDisplayContent.getDisplayPolicy().addWindowLw(win, win.mAttrs);
        return win;
    }
+21 −21
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testPostLayout() {
        final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
        final WindowState statusBar = newWindowBuilder("statusBar", TYPE_APPLICATION).build();
        statusBar.setBounds(0, 0, 500, 1000);
        statusBar.getFrame().set(0, 0, 500, 100);
        statusBar.mHasSurface = true;
@@ -81,7 +81,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testPostLayout_invisible() {
        final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
        final WindowState statusBar = newWindowBuilder("statusBar", TYPE_APPLICATION).build();
        statusBar.setBounds(0, 0, 500, 1000);
        statusBar.getFrame().set(0, 0, 500, 100);
        mProvider.setWindowContainer(statusBar, null, null);
@@ -93,7 +93,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testPostLayout_frameProvider() {
        final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
        final WindowState statusBar = newWindowBuilder("statusBar", TYPE_APPLICATION).build();
        statusBar.getFrame().set(0, 0, 500, 100);
        statusBar.mHasSurface = true;
        mProvider.setWindowContainer(statusBar,
@@ -108,8 +108,8 @@ public class InsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testUpdateControlForTarget() {
        final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
        final WindowState target = createWindow(null, TYPE_APPLICATION, "target");
        final WindowState statusBar = newWindowBuilder("statusBar", TYPE_APPLICATION).build();
        final WindowState target = newWindowBuilder("target", TYPE_APPLICATION).build();
        statusBar.getFrame().set(0, 0, 500, 100);

        // We must not have control or control target before we have the insets source window.
@@ -153,8 +153,8 @@ public class InsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testUpdateControlForFakeTarget() {
        final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
        final WindowState target = createWindow(null, TYPE_APPLICATION, "target");
        final WindowState statusBar = newWindowBuilder("statusBar", TYPE_APPLICATION).build();
        final WindowState target = newWindowBuilder("target", TYPE_APPLICATION).build();
        statusBar.getFrame().set(0, 0, 500, 100);
        mProvider.setWindowContainer(statusBar, null, null);
        mProvider.updateFakeControlTarget(target);
@@ -166,10 +166,10 @@ public class InsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testGetLeash() {
        final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
        final WindowState target = createWindow(null, TYPE_APPLICATION, "target");
        final WindowState fakeTarget = createWindow(null, TYPE_APPLICATION, "fakeTarget");
        final WindowState otherTarget = createWindow(null, TYPE_APPLICATION, "otherTarget");
        final WindowState statusBar = newWindowBuilder("statusBar", TYPE_APPLICATION).build();
        final WindowState target = newWindowBuilder("target", TYPE_APPLICATION).build();
        final WindowState fakeTarget = newWindowBuilder("fakeTarget", TYPE_APPLICATION).build();
        final WindowState otherTarget = newWindowBuilder("otherTarget", TYPE_APPLICATION).build();
        statusBar.getFrame().set(0, 0, 500, 100);

        // We must not have control or control target before we have the insets source window,
@@ -208,7 +208,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testUpdateSourceFrame() {
        final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
        final WindowState statusBar = newWindowBuilder("statusBar", TYPE_APPLICATION).build();
        mProvider.setWindowContainer(statusBar, null, null);
        statusBar.setBounds(0, 0, 500, 1000);

@@ -238,7 +238,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testUpdateSourceFrameForIme() {
        final WindowState inputMethod = createWindow(null, TYPE_INPUT_METHOD, "inputMethod");
        final WindowState inputMethod = newWindowBuilder("inputMethod", TYPE_INPUT_METHOD).build();

        inputMethod.getFrame().set(new Rect(0, 400, 500, 500));

@@ -262,9 +262,9 @@ public class InsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testUpdateInsetsControlPosition() {
        final WindowState target = createWindow(null, TYPE_APPLICATION, "target");
        final WindowState target = newWindowBuilder("target", TYPE_APPLICATION).build();

        final WindowState ime1 = createWindow(null, TYPE_INPUT_METHOD, "ime1");
        final WindowState ime1 = newWindowBuilder("ime1", TYPE_INPUT_METHOD).build();
        ime1.getFrame().set(new Rect(0, 0, 0, 0));
        mImeProvider.setWindowContainer(ime1, null, null);
        mImeProvider.updateControlForTarget(target, false /* force */, null /* statsToken */);
@@ -272,7 +272,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {
        mImeProvider.updateInsetsControlPosition(ime1);
        assertEquals(new Point(0, 400), mImeProvider.getControl(target).getSurfacePosition());

        final WindowState ime2 = createWindow(null, TYPE_INPUT_METHOD, "ime2");
        final WindowState ime2 = newWindowBuilder("ime2", TYPE_INPUT_METHOD).build();
        ime2.getFrame().set(new Rect(0, 0, 0, 0));
        mImeProvider.setWindowContainer(ime2, null, null);
        mImeProvider.updateControlForTarget(target, false /* force */, null /* statsToken */);
@@ -283,8 +283,8 @@ public class InsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testSetRequestedVisibleTypes() {
        final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
        final WindowState target = createWindow(null, TYPE_APPLICATION, "target");
        final WindowState statusBar = newWindowBuilder("statusBar", TYPE_APPLICATION).build();
        final WindowState target = newWindowBuilder("target", TYPE_APPLICATION).build();
        statusBar.getFrame().set(0, 0, 500, 100);
        mProvider.setWindowContainer(statusBar, null, null);
        mProvider.updateControlForTarget(target, false /* force */, null /* statsToken */);
@@ -295,8 +295,8 @@ public class InsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testSetRequestedVisibleTypes_noControl() {
        final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
        final WindowState target = createWindow(null, TYPE_APPLICATION, "target");
        final WindowState statusBar = newWindowBuilder("statusBar", TYPE_APPLICATION).build();
        final WindowState target = newWindowBuilder("target", TYPE_APPLICATION).build();
        statusBar.getFrame().set(0, 0, 500, 100);
        mProvider.setWindowContainer(statusBar, null, null);
        target.setRequestedVisibleTypes(0, statusBars());
@@ -306,7 +306,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {

    @Test
    public void testInsetGeometries() {
        final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
        final WindowState statusBar = newWindowBuilder("statusBar", TYPE_APPLICATION).build();
        statusBar.getFrame().set(0, 0, 500, 100);
        statusBar.mHasSurface = true;
        mProvider.setWindowContainer(statusBar, null, null);
+48 −44

File changed.

Preview size limit exceeded, changes collapsed.