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

Commit 94b2d272 authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "Provide the finish transaction when merging transitions" into main

parents 2b960fa1 2f7ad75c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -168,7 +168,8 @@ public class ActivityEmbeddingController implements Transitions.TransitionHandle

    @Override
    public void mergeAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info,
            @NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget,
            @NonNull SurfaceControl.Transaction startT, @NonNull SurfaceControl.Transaction finishT,
            @NonNull IBinder mergeTarget,
            @NonNull Transitions.TransitionFinishCallback finishCallback) {
        mAnimationRunner.cancelAnimationFromMerge();
    }
+5 −3
Original line number Diff line number Diff line
@@ -1463,7 +1463,9 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont

        @Override
        public void mergeAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info,
                @NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget,
                @NonNull SurfaceControl.Transaction startT,
                @NonNull SurfaceControl.Transaction finishT,
                @NonNull IBinder mergeTarget,
                @NonNull Transitions.TransitionFinishCallback finishCallback) {
            if (mClosePrepareTransition == transition) {
                mClosePrepareTransition = null;
@@ -1476,7 +1478,7 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont
            if (info.getType() == TRANSIT_CLOSE_PREPARE_BACK_NAVIGATION
                    && !mCloseTransitionRequested && info.getChanges().isEmpty() && mApps == null) {
                finishCallback.onTransitionFinished(null);
                t.apply();
                startT.apply();
                applyFinishOpenTransition();
                return;
            }
@@ -1489,7 +1491,7 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont
            }
            // Handle the commit transition if this handler is running the open transition.
            finishCallback.onTransitionFinished(null);
            t.apply();
            startT.apply();
            if (mCloseTransitionRequested) {
                if (mApps == null || mApps.length == 0) {
                    // animation was done
+6 −2
Original line number Diff line number Diff line
@@ -248,7 +248,9 @@ public class BubbleTransitions {

        @Override
        public void mergeAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info,
                @NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget,
                @NonNull SurfaceControl.Transaction startT,
                @NonNull SurfaceControl.Transaction finishT,
                @NonNull IBinder mergeTarget,
                @NonNull Transitions.TransitionFinishCallback finishCallback) {
        }

@@ -423,7 +425,9 @@ public class BubbleTransitions {

        @Override
        public void mergeAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info,
                @NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget,
                @NonNull SurfaceControl.Transaction startT,
                @NonNull SurfaceControl.Transaction finishT,
                @NonNull IBinder mergeTarget,
                @NonNull Transitions.TransitionFinishCallback finishCallback) {
        }

+6 −5
Original line number Diff line number Diff line
@@ -458,7 +458,8 @@ sealed class DragToDesktopTransitionHandler(
    override fun mergeAnimation(
        transition: IBinder,
        info: TransitionInfo,
        t: SurfaceControl.Transaction,
        startT: SurfaceControl.Transaction,
        finishT: SurfaceControl.Transaction,
        mergeTarget: IBinder,
        finishCallback: Transitions.TransitionFinishCallback,
    ) {
@@ -488,18 +489,18 @@ sealed class DragToDesktopTransitionHandler(
        if (isEndTransition) {
            setupEndDragToDesktop(
                info,
                startTransaction = t,
                startTransaction = startT,
                finishTransaction = startTransactionFinishT,
            )
            // Call finishCallback to merge animation before startTransitionFinishCb is called
            finishCallback.onTransitionFinished(/* wct= */ null)
            animateEndDragToDesktop(startTransaction = t, startTransitionFinishCb)
            animateEndDragToDesktop(startTransaction = startT, startTransitionFinishCb)
        } else if (isCancelTransition) {
            info.changes.forEach { change ->
                t.show(change.leash)
                startT.show(change.leash)
                startTransactionFinishT.show(change.leash)
            }
            t.apply()
            startT.apply()
            finishCallback.onTransitionFinished(/* wct= */ null)
            startTransitionFinishCb.onTransitionFinished(/* wct= */ null)
            clearState()
+3 −1
Original line number Diff line number Diff line
@@ -175,7 +175,9 @@ public class FreeformTaskTransitionHandler

    @Override
    public void mergeAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info,
            @NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget,
            @NonNull SurfaceControl.Transaction startT,
            @NonNull SurfaceControl.Transaction finishT,
            @NonNull IBinder mergeTarget,
            @NonNull Transitions.TransitionFinishCallback finishCallback) {
        ArrayList<Animator> animations = mAnimations.get(mergeTarget);
        if (animations == null) return;
Loading