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

Commit 47f794da authored by Chris Li's avatar Chris Li Committed by Automerger Merge Worker
Browse files

Merge "Fix Invalid Surface error" into main am: c3199051 am: a412668a

parents c57749a7 a412668a
Loading
Loading
Loading
Loading
+13 −2
Original line number Original line Diff line number Diff line
@@ -63,6 +63,8 @@ import java.util.function.Supplier;
 */
 */
class SurfaceAnimationRunner {
class SurfaceAnimationRunner {


    private static final String TAG = SurfaceAnimationRunner.class.getSimpleName();

    private final Object mLock = new Object();
    private final Object mLock = new Object();


    /**
    /**
@@ -186,6 +188,16 @@ class SurfaceAnimationRunner {
                // We must wait for t to be committed since otherwise the leash doesn't have the
                // We must wait for t to be committed since otherwise the leash doesn't have the
                // windows we want to screenshot and extend as children.
                // windows we want to screenshot and extend as children.
                t.addTransactionCommittedListener(mEdgeExtensionExecutor, () -> {
                t.addTransactionCommittedListener(mEdgeExtensionExecutor, () -> {
                    if (!animationLeash.isValid()) {
                        Log.e(TAG, "Animation leash is not valid");
                        synchronized (mEdgeExtensionLock) {
                            mEdgeExtensions.remove(animationLeash);
                        }
                        synchronized (mLock) {
                            mPreProcessingAnimations.remove(animationLeash);
                        }
                        return;
                    }
                    final WindowAnimationSpec animationSpec = a.asWindowAnimationSpec();
                    final WindowAnimationSpec animationSpec = a.asWindowAnimationSpec();


                    final Transaction edgeExtensionCreationTransaction = new Transaction();
                    final Transaction edgeExtensionCreationTransaction = new Transaction();
@@ -450,8 +462,7 @@ class SurfaceAnimationRunner {
            // The leash we are trying to screenshot may have been removed by this point, which is
            // The leash we are trying to screenshot may have been removed by this point, which is
            // likely the reason for ending up with a null edgeBuffer, in which case we just want to
            // likely the reason for ending up with a null edgeBuffer, in which case we just want to
            // return and do nothing.
            // return and do nothing.
            Log.e("SurfaceAnimationRunner", "Failed to create edge extension - "
            Log.e(TAG, "Failed to create edge extension - edge buffer is null");
                    + "edge buffer is null");
            return;
            return;
        }
        }