summaryrefslogtreecommitdiff
path: root/libs/androidfw/StringPool.cpp
diff options
context:
space:
mode:
author Riddle Hsu <riddlehsu@google.com> 2024-01-24 19:44:43 +0800
committer Riddle Hsu <riddlehsu@google.com> 2024-01-24 15:12:26 +0000
commit7b4379f0c67238ee8a86dfb4e0873a47be3fd269 (patch)
tree1b40bde7a42759144959092ed1b7d72de618a6f1 /libs/androidfw/StringPool.cpp
parent02b61abcfe0874bc686d6ce5cba36cc4ec6f3222 (diff)
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
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions