Merge "Revert "Add pre-deprecated "after-merge-finish" transaction"" into main
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java
index da1d6da..e792f7a 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java
@@ -24,7 +24,6 @@
 import android.os.UserManager;
 import android.view.Choreographer;
 import android.view.IWindowManager;
-import android.view.SurfaceControl;
 import android.view.WindowManager;
 
 import com.android.internal.jank.InteractionJankMonitor;
@@ -404,8 +403,7 @@
             Optional<RecentTasksController> recentTasksController,
             HomeTransitionObserver homeTransitionObserver) {
         return new RecentsTransitionHandler(shellInit, transitions,
-                recentTasksController.orElse(null), homeTransitionObserver,
-                SurfaceControl.Transaction::new);
+                recentTasksController.orElse(null), homeTransitionObserver);
     }
 
     //
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java
index e46625d..234b4d0 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java
@@ -74,7 +74,6 @@
 
 import java.util.ArrayList;
 import java.util.function.Consumer;
-import java.util.function.Supplier;
 
 /**
  * Handles the Recents (overview) animation. Only one of these can run at a time. A recents
@@ -85,7 +84,6 @@
 
     private final Transitions mTransitions;
     private final ShellExecutor mExecutor;
-    private final Supplier<SurfaceControl.Transaction> mTransactionSupplier;
     @Nullable
     private final RecentTasksController mRecentTasksController;
     private IApplicationThread mAnimApp = null;
@@ -103,13 +101,11 @@
 
     public RecentsTransitionHandler(ShellInit shellInit, Transitions transitions,
             @Nullable RecentTasksController recentTasksController,
-            HomeTransitionObserver homeTransitionObserver,
-            Supplier<SurfaceControl.Transaction> transactionSupplier) {
+            HomeTransitionObserver homeTransitionObserver) {
         mTransitions = transitions;
         mExecutor = transitions.getMainExecutor();
         mRecentTasksController = recentTasksController;
         mHomeTransitionObserver = homeTransitionObserver;
-        mTransactionSupplier = transactionSupplier;
         if (!Transitions.ENABLE_SHELL_TRANSITIONS) return;
         if (recentTasksController == null) return;
         shellInit.addInitCallback(() -> {
@@ -1060,7 +1056,7 @@
             final Transitions.TransitionFinishCallback finishCB = mFinishCB;
             mFinishCB = null;
 
-            SurfaceControl.Transaction t = mFinishTransaction;
+            final SurfaceControl.Transaction t = mFinishTransaction;
             final WindowContainerTransaction wct = new WindowContainerTransaction();
 
             if (mKeyguardLocked && mRecentsTask != null) {
@@ -1110,16 +1106,6 @@
                     }
                 }
                 ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION, "  normal finish");
-                if (toHome && !mOpeningTasks.isEmpty()) {
-                    // Attempting to start a task after swipe to home, don't show it,
-                    // move recents to top
-                    ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
-                            "  attempting to start a task after swipe to home");
-                    t = mTransactionSupplier.get();
-                    wct.reorder(mRecentsTask, true /*onTop*/);
-                    mClosingTasks.addAll(mOpeningTasks);
-                    mOpeningTasks.clear();
-                }
                 // The general case: committing to recents, going home, or switching tasks.
                 for (int i = 0; i < mOpeningTasks.size(); ++i) {
                     t.show(mOpeningTasks.get(i).mTaskSurface);
@@ -1188,10 +1174,6 @@
                     mPipTransaction = null;
                 }
             }
-            if (t != mFinishTransaction) {
-                // apply after merges because these changes are accounting for finishWCT changes.
-                mTransitions.setAfterMergeFinishTransaction(mTransition, t);
-            }
             cleanUp();
             finishCB.onTransitionFinished(wct.isEmpty() ? null : wct);
             if (runnerFinishCb != null) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java
index b8abf8f..bd25846 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java
@@ -242,13 +242,6 @@
         /** Ordered list of transitions which have been merged into this one. */
         private ArrayList<ActiveTransition> mMerged;
 
-        /**
-         * @deprecated DO NOT USE THIS unless absolutely necessary. It will be removed once
-         * everything migrates off finishWCT.
-         */
-        @java.lang.Deprecated
-        SurfaceControl.Transaction mAfterMergeFinishT;
-
         ActiveTransition(IBinder token) {
             mToken = token;
         }
@@ -1034,20 +1027,6 @@
         return null;
     }
 
-    /** @deprecated */
-    @java.lang.Deprecated
-    public void setAfterMergeFinishTransaction(IBinder transition,
-            SurfaceControl.Transaction afterMergeFinishT) {
-        final ActiveTransition at = mKnownTransitions.get(transition);
-        if (at == null) return;
-        if (at.mAfterMergeFinishT != null) {
-            Log.e(TAG, "Setting after-merge-t >1 time on transition: " + at.mInfo.getDebugId());
-            at.mAfterMergeFinishT.merge(afterMergeFinishT);
-            return;
-        }
-        at.mAfterMergeFinishT = afterMergeFinishT;
-    }
-
     /** Aborts a transition. This will still queue it up to maintain order. */
     private void onAbort(ActiveTransition transition) {
         final Track track = mTracks.get(transition.getTrack());
@@ -1108,7 +1087,6 @@
         }
         // Merge all associated transactions together
         SurfaceControl.Transaction fullFinish = active.mFinishT;
-        SurfaceControl.Transaction afterMergeFinish = active.mAfterMergeFinishT;
         if (active.mMerged != null) {
             for (int iM = 0; iM < active.mMerged.size(); ++iM) {
                 final ActiveTransition toMerge = active.mMerged.get(iM);
@@ -1128,21 +1106,6 @@
                         fullFinish.merge(toMerge.mFinishT);
                     }
                 }
-                if (toMerge.mAfterMergeFinishT != null) {
-                    if (afterMergeFinish == null) {
-                        afterMergeFinish = toMerge.mAfterMergeFinishT;
-                    } else {
-                        afterMergeFinish.merge(toMerge.mAfterMergeFinishT);
-                    }
-                    toMerge.mAfterMergeFinishT = null;
-                }
-            }
-        }
-        if (afterMergeFinish != null) {
-            if (fullFinish == null) {
-                fullFinish = afterMergeFinish;
-            } else {
-                fullFinish.merge(afterMergeFinish);
             }
         }
         if (fullFinish != null) {
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java
index 8331d59..409b877 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java
@@ -1191,8 +1191,7 @@
                         mMainHandler, mAnimExecutor, mock(HomeTransitionObserver.class));
         final RecentsTransitionHandler recentsHandler =
                 new RecentsTransitionHandler(shellInit, transitions,
-                        mock(RecentTasksController.class), mock(HomeTransitionObserver.class),
-                        () -> mock(SurfaceControl.Transaction.class));
+                        mock(RecentTasksController.class), mock(HomeTransitionObserver.class));
         transitions.replaceDefaultHandlerForTest(mDefaultHandler);
         shellInit.init();