Separate finishTransaction for leftover transition

When enter PiP from split-screen, the fade-in animation would be picked.
The alpha will be reset to 1 as part of the finishTransaction and from
the MixedTransitionHelper, when we dispatch the leftovers with the same
finishTransaction, there is no guarantee that when finishTransaction is
actually executed, which leads to a race condition.

Fixing this by passing over a fresh finishTransaction to the leftovers
in MixedTransitionHelper, similar to what we do for startTransaction.

This CL covers the enter PiP from split-screen in gesture nav mode.

Flag: EXEMPT bugfix
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/fcSpmPtl7xQUMCkJj0PFUY
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/cxkqthnSiPrK1t5FsbEBQD
Test: Enter PiP from split-screen, make sure no flicker
Test: Enter PiP with non-auto-enter API, make sure no regression there
Test: atest --iteration 5 WMShellFlickerTestsPip1 -- --test-arg \
      com.android.tradefed.testtype.AndroidJUnitTest:instrumentation-arg:filter-tests:="com.android.wm.shell.flicker.pip.FromSplitScreenEnterPipOnUserLeaveHintTest#visibleLayersShownMoreThanOneConsecutiveEntry[ROTATION_0_GESTURAL_NAV]"
Test: atest --iteration 5 WMShellFlickerTestsPip1 -- --test-arg \
      com.android.tradefed.testtype.AndroidJUnitTest:instrumentation-arg:filter-tests:="com.android.wm.shell.flicker.pip.FromSplitScreenAutoEnterPipOnGoToHomeTest#visibleLayersShownMoreThanOneConsecutiveEntry[ROTATION_0_GESTURAL_NAV]"
Bug: 359667269
Bug: 312446524
Bug: 289943985
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ff188280c713b7ee0bb28a4cb829df85424f212e)
Merged-In: I2f1c2bf9d002639c0e144d2743de9331dcf590c0
Change-Id: I2f1c2bf9d002639c0e144d2743de9331dcf590c0
2 files changed