ViewRootImpl: Use mergeWithNextTransaction for updating bounds layer

Continuing the general trend of deprecating deferTransactionUntil.

Bug: 168505645
Test: Existing tests pass
Change-Id: I72e1f4e2eec369ecdbd3723d9af3f9f2e8f71c36
This commit is contained in:
Robert Carr
2021-02-02 15:55:58 -08:00
parent b610667bfd
commit cec6bd9c74

View File

@@ -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);