Consider transient-hide tasks in waiting transitions
This restores the partial deletion in isTransientHide by [1].
That misunderstood the waiting transition has not been started yet.
But it is actually waiting to play.
Without considering the waiting transitions, it may hit:
1. Start recents (transition=R)
Add task X to transient-hide
BLASTSyncEngine.mActiveSyncs[0]=R
2. Start activity on X (transition=A)
createAndStartCollecting
> mWaitingTransitions.add(mCollectingTransition)
(R is mCollectingTransition)
BLASTSyncEngine.mActiveSyncs[1]=A
Moves task X to front
3. (R) plays, pops (R) from mWaitingTransitions
4. (A) plays ~ finishes
5. (R) finishes and its finishTransaction sets Task X to invisible
-> Black screen because X is moved top
With considering the waiting transitions, the step 2 won't move
the task to front by checking isTransientHide in ActivityStarter
#startActivityInner. Then the end state is consistent with the
operation of recent transition: return to home.
[1]: I15c32fa4fa06f175e0cfd430dbc5ae806c599e52
Fix: 321102873
Test: TransitionTests#testTransientWithParallelLaunch
Change-Id: Icaa21a6be8a28bfa5369b954e645f72cd47c937c
2 files changed