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

Commit 6e4a7202 authored by Wei Sheng Shih's avatar Wei Sheng Shih Committed by Android (Google) Code Review
Browse files

Merge "[PB] Preventing wallpaper become empty after merge transition." into main

parents 9dd1ed9c b9bbbacc
Loading
Loading
Loading
Loading
+9 −4
Original line number Original line Diff line number Diff line
@@ -1180,16 +1180,18 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont
        }
        }


        private void applyFinishOpenTransition() {
        private void applyFinishOpenTransition() {
            mOpenTransitionInfo = null;
            mPrepareOpenTransition = null;
            if (mFinishOpenTransaction != null) {
            if (mFinishOpenTransaction != null) {
                mFinishOpenTransaction.apply();
                final SurfaceControl.Transaction t = mFinishOpenTransaction;
                mFinishOpenTransaction = null;
                mFinishOpenTransaction = null;
                t.apply();
            }
            }
            if (mFinishOpenTransitionCallback != null) {
            if (mFinishOpenTransitionCallback != null) {
                mFinishOpenTransitionCallback.onTransitionFinished(null);
                final Transitions.TransitionFinishCallback callback = mFinishOpenTransitionCallback;
                mFinishOpenTransitionCallback = null;
                mFinishOpenTransitionCallback = null;
                callback.onTransitionFinished(null);
            }
            }
            mOpenTransitionInfo = null;
            mPrepareOpenTransition = null;
        }
        }


        private void applyAndFinish(@NonNull SurfaceControl.Transaction st,
        private void applyAndFinish(@NonNull SurfaceControl.Transaction st,
@@ -1334,6 +1336,9 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont
                    tmpSize = init.getChanges().size();
                    tmpSize = init.getChanges().size();
                    for (int i = 0; i < tmpSize; ++i) {
                    for (int i = 0; i < tmpSize; ++i) {
                        final TransitionInfo.Change change = init.getChanges().get(i);
                        final TransitionInfo.Change change = init.getChanges().get(i);
                        if (change.hasFlags(FLAG_IS_WALLPAPER)) {
                            continue;
                        }
                        if (moveToTop) {
                        if (moveToTop) {
                            if (isSameChangeTarget(openComponent, openTaskId, openToken, change)) {
                            if (isSameChangeTarget(openComponent, openTaskId, openToken, change)) {
                                change.setFlags(change.getFlags() | FLAG_MOVED_TO_TOP);
                                change.setFlags(change.getFlags() | FLAG_MOVED_TO_TOP);