setReady:
WindowSurfacePlacer#requestTraversal()
WindowSurfacePlacer#performSurfacePlacementLoop()
RootWindowContainer#performSurfacePlacement()
RootWindowContainer#performSurfacePlacementNoTrace()
RootWindowContainer#checkAppTransitionReady()
AppTransitionController#handleAppTransitionReady()
call applyAnimations(mDisplayContent.mOpeningApps, mDisplayContent.mClosingApps, transit,
animLp, voiceInteraction);
handleClosingApps();
handleOpeningApps();
AppTransitionController#applyAnimations() call:
applyAnimations(openingWcs, openingApps, transit, true /* visible */, animLp,
voiceInteraction);
applyAnimations(closingWcs, closingApps, transit, false /* visible */, animLp,
voiceInteraction);
call
WindowContainer#applyAnimation()
applyAnimationUnchecked()
animationRunnerBuilder.build().startAnimation()
SurfaceAnimator#startAnimation()
AppTransitionController:
mDisplayContent.mOpeningApps
AppTransitionListener#onAppTransitionFinishedLocked
call stacktrace:
com.android.server.wm.ActivityRecord#onAnimationFinished()
com.android.server.wm.WindowContainer#doAnimationFinished()
com.android.server.wm.WindowContainer#onAnimationFinished()
com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback#onAnimationFinished()