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

Commit 024378c5 authored by Robert Carr's avatar Robert Carr
Browse files

Move frame validation logic for deferTransactionUntil.

Currently it's only in place applying for operations on the global transaction.

Bug: 70666541
Test: Manual
Change-Id: I5c2facba14c783bad0d3aca0e8b66fea73df0776
parent c6d5af55
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -763,20 +763,16 @@ public class SurfaceControl implements Parcelable {
    }

    public void deferTransactionUntil(IBinder handle, long frame) {
        if (frame > 0) {
        synchronized(SurfaceControl.class) {
            sGlobalTransaction.deferTransactionUntil(this, handle, frame);
        }
    }
    }

    public void deferTransactionUntil(Surface barrier, long frame) {
        if (frame > 0) {
        synchronized(SurfaceControl.class) {
            sGlobalTransaction.deferTransactionUntilSurface(this, barrier, frame);
        }
    }
    }

    public void reparentChildren(IBinder newParentHandle) {
        synchronized(SurfaceControl.class) {
@@ -1479,6 +1475,9 @@ public class SurfaceControl implements Parcelable {

        public Transaction deferTransactionUntil(SurfaceControl sc, IBinder handle,
                long frameNumber) {
            if (frameNumber < 0) {
                return this;
            }
            sc.checkNotReleased();
            nativeDeferTransactionUntil(mNativeObject, sc.mNativeObject, handle, frameNumber);
            return this;
@@ -1486,6 +1485,9 @@ public class SurfaceControl implements Parcelable {

        public Transaction deferTransactionUntilSurface(SurfaceControl sc, Surface barrierSurface,
                long frameNumber) {
            if (frameNumber < 0) {
                return this;
            }
            sc.checkNotReleased();
            nativeDeferTransactionUntilSurface(mNativeObject, sc.mNativeObject,
                    barrierSurface.mNativeObject, frameNumber);