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

Commit 3eaff51d authored by Evan Rosky's avatar Evan Rosky Committed by Android (Google) Code Review
Browse files

Merge "Don't updateSurfacePosition with invalid window frames"

parents 9ca6b441 2da185d5
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -5271,6 +5271,12 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
        if (mSurfaceControl == null) {
            return;
        }
        if (mWmService.mWindowPlacerLocked.isLayoutDeferred() || isGoneForLayout()) {
            // Since this relies on mWindowFrames, changes made while layout is deferred are
            // likely to be invalid. Similarly, if it's goneForLayout, mWindowFrames may not be
            // up-to-date and thus can't be relied on.
            return;
        }

        transformFrameToSurfacePosition(mWindowFrames.mFrame.left, mWindowFrames.mFrame.top,
                mSurfacePosition);
+2 −0
Original line number Diff line number Diff line
@@ -648,6 +648,8 @@ public class WindowStateTests extends WindowTestsBase {
        win1.mSurfaceControl = mock(SurfaceControl.class);
        win1.mAttrs.surfaceInsets.set(1, 2, 3, 4);
        win1.getFrame().offsetTo(WINDOW_OFFSET, 0);
        // Simulate layout
        win1.mRelayoutCalled = true;
        win1.updateSurfacePosition(t);
        win1.getTransformationMatrix(values, matrix);