summaryrefslogtreecommitdiff
path: root/libs/hwui/FrameInfoVisualizer.cpp
diff options
context:
space:
mode:
author Riddle Hsu <riddlehsu@google.com> 2024-12-16 15:41:53 +0800
committer Riddle Hsu <riddlehsu@google.com> 2024-12-23 12:37:24 +0800
commit7b246acbe0aee0bc26b5850cfdc422b89b3643f5 (patch)
tree6aba9feb42b8c164b5825b634e1161908c5bc2bf /libs/hwui/FrameInfoVisualizer.cpp
parentc05c4e0ec183843b430e776def1b1e94b6fd8b73 (diff)
Ensure order of transaction for surface reparent
This avoids the case: (1) Pending transaction reparents a window to an animation leash. Though it may come from some places that use pending transaction, such as applyStartingWindowAnimationa and WS#startAnimation, even if the callers use getSyncTransaction, it may still return pending transaction if there is no sync state. (2) Sync transaction restores the window to original parent. (3) Sync transaction applies in shell. (4) Pending transaction applies in core (on vsync). The expected result should be that the window still stay in its original parent. But the order will cause the window to be put in the removed animation leash. So this change makes sure the pending transaction is applied before (3) if surface animator uses pending transaction to reparent/remove. Bug: 313329824 Bug: 384659191 Flag: EXEMPT bugfix Test: TransitionTests#testTransitionVisibleChange Change-Id: Id35577ace8f1d83a8244bc54e6b899284ba6bfe0
Diffstat (limited to 'libs/hwui/FrameInfoVisualizer.cpp')
0 files changed, 0 insertions, 0 deletions