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

Commit da10c37b authored by Wale Ogunwale's avatar Wale Ogunwale
Browse files

Revert "Fix flicker with remote animations"

This reverts commit ab09e647 as it causes crash.

Change-Id: I2878cebca7d63a95545cc50e775a183527d7c2c2
bug: 72953020
parent ab09e647
Loading
Loading
Loading
Loading
+7 −11
Original line number Diff line number Diff line
@@ -96,17 +96,13 @@ class RemoteAnimationController {
        // Scale the timeout with the animator scale the controlling app is using.
        mHandler.postDelayed(mTimeoutRunnable,
                (long) (TIMEOUT_MS * mService.getCurrentAnimatorScale()));

        final RemoteAnimationTarget[] animations = createAnimations();
        mService.mAnimator.addAfterPrepareSurfacesRunnable(() -> {
        try {
                mRemoteAnimationAdapter.getRunner().onAnimationStart(animations,
            mRemoteAnimationAdapter.getRunner().onAnimationStart(createAnimations(),
                    mFinishedCallback);
        } catch (RemoteException e) {
            Slog.e(TAG, "Failed to start remote animation", e);
            onAnimationFinished();
        }
        });
    }

    private RemoteAnimationTarget[] createAnimations() {
+0 −2
Original line number Diff line number Diff line
@@ -599,8 +599,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> {
                    "<<< CLOSE TRANSACTION performLayoutAndPlaceSurfaces");
        }

        mService.mAnimator.executeAfterPrepareSurfacesRunnables();

        final WindowSurfacePlacer surfacePlacer = mService.mWindowPlacerLocked;

        // If we are ready to perform an app transition, check through all of the app tokens to be
+1 −9
Original line number Diff line number Diff line
@@ -92,7 +92,6 @@ public class WindowAnimator {
     * executed and the corresponding transaction is closed and applied.
     */
    private final ArrayList<Runnable> mAfterPrepareSurfacesRunnables = new ArrayList<>();
    private boolean mInExecuteAfterPrepareSurfacesRunnables;

    WindowAnimator(final WindowManagerService service) {
        mService = service;
@@ -439,13 +438,7 @@ public class WindowAnimator {
        scheduleAnimation();
    }

    void executeAfterPrepareSurfacesRunnables() {

        // Don't even think about to start recursing!
        if (mInExecuteAfterPrepareSurfacesRunnables) {
            return;
        }
        mInExecuteAfterPrepareSurfacesRunnables = true;
    private void executeAfterPrepareSurfacesRunnables() {

        // Traverse in order they were added.
        final int size = mAfterPrepareSurfacesRunnables.size();
@@ -453,6 +446,5 @@ public class WindowAnimator {
            mAfterPrepareSurfacesRunnables.get(i).run();
        }
        mAfterPrepareSurfacesRunnables.clear();
        mInExecuteAfterPrepareSurfacesRunnables = false;
    }
}