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 e42c6623cea07..24d9dae970366 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 @@ -813,6 +813,9 @@ public class Transitions implements RemoteCallable, track.mReadyTransitions.remove(0); track.mActiveTransition = ready; if (ready.mAborted) { + if (ready.mStartT != null) { + ready.mStartT.apply(); + } // finish now since there's nothing to animate. Calls back into processReadyQueue onFinish(ready, null, null); return; @@ -940,10 +943,6 @@ public class Transitions implements RemoteCallable, /** Aborts a transition. This will still queue it up to maintain order. */ private void onAbort(ActiveTransition transition) { final Track track = mTracks.get(transition.getTrack()); - // apply immediately since they may be "parallel" operations: We currently we use abort for - // thing which are independent to other transitions (like starting-window transfer). - transition.mStartT.apply(); - transition.mFinishT.apply(); transition.mAborted = true; mTracer.logAborted(transition.mInfo.getDebugId());