Update layer order of tasks when restoring pip to previous task
Because TransitionController#canAssignLayers skips assigning layer
when a transition is playing, when applying WCT for finishing
transition, the layer changes won't take effect immediately.
Especially if there is a following transition which makes the
tasks use sync transaction, the layer update could be delayed more.
The example of window hierachy:
TaskA(z=1) activityA
TaskB(z=2) activityB
TaskP(z=3) activityPip
After restoring activityPip to TaskA:
TaskB(z=2) activityB
TaskA(z=1) activityA, activityPip
TaskA has moved to top but its surface layer is still lower than
the previous TaskB.
Bug: 340990222
Test: Enter pip from an activity which lives on a task with
multiple activities. Launch another fullscreen activity.
(Home won't affect because it is always at bottom)
Expand pip to fullscreen with orientation change.
The previous fullscreen activity should not flicker on top.
Change-Id: I6172e69400a258d9fdbc66044b459d65af622d14
2 files changed