A few fixes for animation takeovers.

1. Something changed in how the transition is created and we had a gap
   in the conversion that made Lanucher show up on top of the closing
   window. Fixed that by adding a new branch that checks for the opening
   window and puts it in the below layers.
2. The ordering of states already matches the apps thanks to the
   conversion inside OriginTransition, so we can extract the right state
   directly without relying on the deprecated `prefixOrderIndex`.
3. We now use the Coreographer's frame time to start the spring after
   the right amount of delay and correctly maintain the momentum while
   avoiding a stutter due to two identical frames.

Bug: 323863002
Flag: com.android.systemui.shared.return_animation_framework_library
Flag: com.android.systemui.shared.return_animation_framework_long_lived
Test: atest ActivityTransitionAnimatorTest TransitionAnimatorTest
Change-Id: I6cf2203d8f21bd236759449ef1ee4d39c7099e18
2 files changed