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

Commit 1e15b222 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "WM: Cleanup TestAppWindowToken code and promote ZOrderingTests to non-flaky"

parents 40a3958d 469dcbf7
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -59,7 +59,7 @@ public class AppChangeTransitionTests extends WindowTestsBase {
    public void setUpOnDisplay(DisplayContent dc) {
    public void setUpOnDisplay(DisplayContent dc) {
        mStack = createTaskStackOnDisplay(WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_STANDARD, dc);
        mStack = createTaskStackOnDisplay(WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_STANDARD, dc);
        mTask = createTaskInStack(mStack, 0 /* userId */);
        mTask = createTaskInStack(mStack, 0 /* userId */);
        mToken = WindowTestUtils.createTestAppWindowToken(dc, false /* skipOnParentChanged */);
        mToken = WindowTestUtils.createTestAppWindowToken(dc);


        mTask.addChild(mToken, 0);
        mTask.addChild(mToken, 0);


+1 −1
Original line number Original line Diff line number Diff line
@@ -60,7 +60,7 @@ public class AppWindowTokenAnimationTests extends WindowTestsBase {
        MockitoAnnotations.initMocks(this);
        MockitoAnnotations.initMocks(this);


        mToken = createTestAppWindowToken(mDisplayContent, WINDOWING_MODE_FULLSCREEN,
        mToken = createTestAppWindowToken(mDisplayContent, WINDOWING_MODE_FULLSCREEN,
                ACTIVITY_TYPE_STANDARD, false /* skipOnParentChanged */);
                ACTIVITY_TYPE_STANDARD);
    }
    }


    @Test
    @Test
+1 −5
Original line number Original line Diff line number Diff line
@@ -81,8 +81,7 @@ public class AppWindowTokenTests extends WindowTestsBase {
    public void setUp() throws Exception {
    public void setUp() throws Exception {
        mStack = createTaskStackOnDisplay(mDisplayContent);
        mStack = createTaskStackOnDisplay(mDisplayContent);
        mTask = createTaskInStack(mStack, 0 /* userId */);
        mTask = createTaskInStack(mStack, 0 /* userId */);
        mToken = WindowTestUtils.createTestAppWindowToken(mDisplayContent,
        mToken = WindowTestUtils.createTestAppWindowToken(mDisplayContent);
                false /* skipOnParentChanged */);


        mTask.addChild(mToken, 0);
        mTask.addChild(mToken, 0);
    }
    }
@@ -219,9 +218,6 @@ public class AppWindowTokenTests extends WindowTestsBase {


    @Test
    @Test
    public void testSizeCompatBounds() {
    public void testSizeCompatBounds() {
        // The real surface transaction is unnecessary.
        mToken.setSkipPrepareSurfaces(true);

        final Rect fixedBounds = mToken.getRequestedOverrideConfiguration().windowConfiguration
        final Rect fixedBounds = mToken.getRequestedOverrideConfiguration().windowConfiguration
                .getBounds();
                .getBounds();
        fixedBounds.set(0, 0, 1200, 1600);
        fixedBounds.set(0, 0, 1200, 1600);
+2 −51
Original line number Original line Diff line number Diff line
@@ -56,24 +56,15 @@ class WindowTestUtils {


    static TestAppWindowToken createTestAppWindowToken(DisplayContent dc) {
    static TestAppWindowToken createTestAppWindowToken(DisplayContent dc) {
        synchronized (dc.mWmService.mGlobalLock) {
        synchronized (dc.mWmService.mGlobalLock) {
            return new TestAppWindowToken(dc, true /* skipOnParentChanged */);
            return new TestAppWindowToken(dc);
        }
    }

    static TestAppWindowToken createTestAppWindowToken(DisplayContent dc,
            boolean skipOnParentChanged) {
        synchronized (dc.mWmService.mGlobalLock) {
            return new TestAppWindowToken(dc, skipOnParentChanged);
        }
        }
    }
    }


    /** Used so we can gain access to some protected members of the {@link AppWindowToken} class. */
    /** Used so we can gain access to some protected members of the {@link AppWindowToken} class. */
    static class TestAppWindowToken extends AppWindowToken {
    static class TestAppWindowToken extends AppWindowToken {
        boolean mOnTop = false;
        boolean mOnTop = false;
        private boolean mSkipPrepareSurfaces;
        boolean mSkipOnParentChanged = true;


        private TestAppWindowToken(DisplayContent dc, boolean skipOnParentChanged) {
        private TestAppWindowToken(DisplayContent dc) {
            super(dc.mWmService, new IApplicationToken.Stub() {
            super(dc.mWmService, new IApplicationToken.Stub() {
                @Override
                @Override
                public String getName() {
                public String getName() {
@@ -81,7 +72,6 @@ class WindowTestUtils {
                }
                }
            }, new ComponentName("", ""), false, dc, true /* fillsParent */);
            }, new ComponentName("", ""), false, dc, true /* fillsParent */);
            mTargetSdk = Build.VERSION_CODES.CUR_DEVELOPMENT;
            mTargetSdk = Build.VERSION_CODES.CUR_DEVELOPMENT;
            mSkipOnParentChanged = skipOnParentChanged;
            mActivityRecord = mock(ActivityRecord.class);
            mActivityRecord = mock(ActivityRecord.class);
            mActivityRecord.app = mock(WindowProcessController.class);
            mActivityRecord.app = mock(WindowProcessController.class);
        }
        }
@@ -102,45 +92,11 @@ class WindowTestUtils {
            return mChildren.peekLast();
            return mChildren.peekLast();
        }
        }


        @Override
        void onParentChanged() {
            if (!mSkipOnParentChanged) {
                super.onParentChanged();
            } else {
                updateConfigurationFromParent(this);
            }
        }

        @Override
        @Override
        boolean isOnTop() {
        boolean isOnTop() {
            return mOnTop;
            return mOnTop;
        }
        }


        @Override
        void prepareSurfaces() {
            if (!mSkipPrepareSurfaces) {
                super.prepareSurfaces();
            }
        }

        void setSkipPrepareSurfaces(boolean ignore) {
            mSkipPrepareSurfaces = ignore;
        }
    }

    /**
     * Used when we don't want to perform surface related operation in
     * {@link WindowContainer#onParentChanged} or the overridden method, but the configuration
     * still needs to propagate from parent.
     *
     * @see ConfigurationContainer#onParentChanged
     */
    static void updateConfigurationFromParent(WindowContainer container) {
        final WindowContainer parent = container.getParent();
        if (parent != null) {
            container.onConfigurationChanged(parent.getConfiguration());
            container.onMergedOverrideConfigurationChanged();
        }
    }
    }


    static TestWindowToken createTestWindowToken(int type, DisplayContent dc) {
    static TestWindowToken createTestWindowToken(int type, DisplayContent dc) {
@@ -246,10 +202,5 @@ class WindowTestUtils {


            mHasSurface = hadSurface;
            mHasSurface = hadSurface;
        }
        }

        @Override
        void onParentChanged() {
            updateConfigurationFromParent(this);
        }
    }
    }
}
}
+1 −7
Original line number Original line Diff line number Diff line
@@ -269,16 +269,10 @@ class WindowTestsBase {


    WindowTestUtils.TestAppWindowToken createTestAppWindowToken(DisplayContent dc, int
    WindowTestUtils.TestAppWindowToken createTestAppWindowToken(DisplayContent dc, int
            windowingMode, int activityType) {
            windowingMode, int activityType) {
        return createTestAppWindowToken(dc, windowingMode, activityType,
                false /*skipOnParentChanged */);
    }

    WindowTestUtils.TestAppWindowToken createTestAppWindowToken(DisplayContent dc, int
            windowingMode, int activityType, boolean skipOnParentChanged) {
        final TaskStack stack = createTaskStackOnDisplay(windowingMode, activityType, dc);
        final TaskStack stack = createTaskStackOnDisplay(windowingMode, activityType, dc);
        final Task task = createTaskInStack(stack, 0 /* userId */);
        final Task task = createTaskInStack(stack, 0 /* userId */);
        final WindowTestUtils.TestAppWindowToken appWindowToken =
        final WindowTestUtils.TestAppWindowToken appWindowToken =
                WindowTestUtils.createTestAppWindowToken(dc, skipOnParentChanged);
                WindowTestUtils.createTestAppWindowToken(dc);
        task.addChild(appWindowToken, 0);
        task.addChild(appWindowToken, 0);
        return appWindowToken;
        return appWindowToken;
    }
    }
Loading