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
Loading
Please register or sign in to comment