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

Commit 83683829 authored by Johannes Gallmann's avatar Johannes Gallmann Committed by Android (Google) Code Review
Browse files

Merge "Add onEndCallback to ContainerAnimationRunner" into tm-qpr-dev

parents eeee84ef f54b88d2
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -299,7 +299,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
        ItemInfo tag = (ItemInfo) v.getTag();
        if (tag != null && tag.shouldUseBackgroundAnimation()) {
            ContainerAnimationRunner containerAnimationRunner =
                    ContainerAnimationRunner.from(v, mStartingWindowListener);
                    ContainerAnimationRunner.from(v, mStartingWindowListener, onEndCallback);
            if (containerAnimationRunner != null) {
                delegateRunner = containerAnimationRunner;
            }
@@ -1757,7 +1757,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener

        @Nullable
        private static ContainerAnimationRunner from(
                View v, StartingWindowListener startingWindowListener) {
                View v, StartingWindowListener startingWindowListener, RunnableList onEndCallback) {
            View viewToUse = findViewWithBackground(v);
            if (viewToUse == null) {
                viewToUse = v;
@@ -1784,8 +1784,15 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
            ActivityLaunchAnimator.Callback callback = task -> ColorUtils.setAlphaComponent(
                    startingWindowListener.getBackgroundColor(), 255);

            ActivityLaunchAnimator.Listener listener = new ActivityLaunchAnimator.Listener() {
                @Override
                public void onLaunchAnimationEnd() {
                    onEndCallback.executeAllAndDestroy();
                }
            };

            return new ContainerAnimationRunner(
                    new ActivityLaunchAnimator.AnimationDelegate(controller, callback));
                    new ActivityLaunchAnimator.AnimationDelegate(controller, callback, listener));
        }

        /** Finds the closest parent of [view] (inclusive) with a background drawable. */