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

Commit e31bb77f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Revert "Fix flicker with remote animations""

parents 391a299e da10c37b
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
@@ -612,8 +612,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;
    }
}