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

Commit cec6bd9c authored by Robert Carr's avatar Robert Carr
Browse files

ViewRootImpl: Use mergeWithNextTransaction for updating bounds layer

Continuing the general trend of deprecating deferTransactionUntil.

Bug: 168505645
Test: Existing tests pass
Change-Id: I72e1f4e2eec369ecdbd3723d9af3f9f2e8f71c36
parent b610667b
Loading
Loading
Loading
Loading
+4 −11
Original line number Diff line number Diff line
@@ -1912,25 +1912,18 @@ public final class ViewRootImpl implements ViewParent,
    private boolean updateBoundsLayer(SurfaceControl.Transaction t) {
        if (mBoundsLayer != null) {
            setBoundsLayerCrop(t);
            t.deferTransactionUntil(mBoundsLayer, getSurfaceControl(),
                mSurface.getNextFrameNumber());
            return true;
        }
        return false;
    }

    private void prepareSurfaces(boolean sizeChanged) {
    private void prepareSurfaces() {
        final SurfaceControl.Transaction t = mTransaction;
        final SurfaceControl sc = getSurfaceControl();
        if (!sc.isValid()) return;

        boolean applyTransaction = updateBoundsLayer(t);
        if (sizeChanged) {
            applyTransaction = true;
            t.setBufferSize(sc, mSurfaceSize.x, mSurfaceSize.y);
        }
        if (applyTransaction) {
            t.apply();
        if (updateBoundsLayer(t)) {
              mergeWithNextTransaction(t, mSurface.getNextFrameNumber());
        }
    }

@@ -3035,7 +3028,7 @@ public final class ViewRootImpl implements ViewParent,
            // stopping, but on the client side it doesn't get stopped since it's restarted quick
            // enough. WMS doesn't want to keep around old children since they will leak when the
            // client creates new children.
            prepareSurfaces(surfaceSizeChanged);
            prepareSurfaces();
        }

        final boolean didLayout = layoutRequested && (!mStopped || mReportNextDraw);