Pause transient hide activities before resuming next

This aligns the same lifecycle order as legacy transition:
When using recents or gesture navigation to switch tasks,
pause current -> resume next -> pause recents.

Previously, the order with shell transition is:
pause recent -> resume next -> pause current.
Because isInTransientHide will keep current visible until the
transition is finished.

So this change adds a method isTransientVisible to detect if
the transient (recents) activity is occluded by other task,
then report invisible for the transient-hide activities.

Bug: 290550081
Test: atest TransitionTests#testIsTransientVisible
Change-Id: I15c32fa4fa06f175e0cfd430dbc5ae806c599e52
5 files changed