summaryrefslogtreecommitdiff
path: root/libs/androidfw/ResourceTimer.cpp
diff options
context:
space:
mode:
author Riddle Hsu <riddlehsu@google.com> 2022-06-30 23:32:04 +0800
committer Riddle Hsu <riddlehsu@google.com> 2022-07-04 13:23:58 +0000
commit50355ae4e4c4318ddd1df293f922ad79579bee7c (patch)
treefb458982f08d447647ca90a267ec059b056bddaf /libs/androidfw/ResourceTimer.cpp
parentdf74b6ddbcb4dbca8d81f807ed1fc21b3647d28e (diff)
Don't notify animation finished if no animation
This removes commit ab9fcb2 to avoid potential recursion of surface placement: onAnimationFinished -> onExitAnimationDone -> destroySurfaces -> postWindowRemoveCleanupLocked -> performSurfacePlacementNoTrace. The original case no longer occurs without the invocation. And now the window with mRemoveOnExit=true will be removed by WindowState #handleCompleteDeferredRemoval. And if there is only mAnimatingExit, it will be handled by WS#cleanupAnimatingExitWindow. The test testStuckExitingWindow is also removed because no matter with calling onAnimationFinished or not in postApplyAnimation, the test always passes. Verified the original issue case: change language and swipe up. There is no leftover EXITING window. Even hardcode to set the exit flags unexpectedly, there is still no problem. Bug: 237481770 Test: WindowStateTests#testDeferredRemovalByAnimating WindowContainerTests#testHandleCompleteDeferredRemoval Change-Id: If10cd3c334476e078fdd4d4db05bf8b37db84ccc
Diffstat (limited to 'libs/androidfw/ResourceTimer.cpp')
0 files changed, 0 insertions, 0 deletions