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