summaryrefslogtreecommitdiff
path: root/libs/androidfw/AssetManager2.cpp
diff options
context:
space:
mode:
author Tiger Huang <tigerhuang@google.com> 2025-03-20 19:29:24 +0800
committer Tiger Huang <tigerhuang@google.com> 2025-03-20 20:00:00 +0800
commit743129f56e626b7f540a0db51112058b7069b791 (patch)
treec71f09a5c204ab4ded9e1bd1fe469795dc7bfead /libs/androidfw/AssetManager2.cpp
parent771c6c3eb7c34db2277963e227895d13661e6ad9 (diff)
Update surface position while there is no surface animation playing
Previous logic uses getAnimationType to know if there will be a surface update caused by the insets animation. However, if the animation is played by the InsetsAnimationThreadControlRunner, the animation will be finished first, and then the runner will post a message to the main UI thread to remove the animation from mRunningAnimations. That would produce a time that a control is not being animated, but InsetsSourceConsumer still thinks it is being animated and skips updating the surface position. This CL creates a thread-safe method: InsetsAnimationControlRunner#willUpdateSurface which returns false if a runner is finished or cancelled, and InsetsSourceConsumer can update the surface based on it. Fix: 379967370 Fix: 394229693 Flag: EXEMPT bugfix Test: Show gesture navigation bar from immersive mode and change the screen orientation from landscape to portrait. Make sure the navigation bar position is correct. Change-Id: I1d84511082a50a56cda6ca060620b53a3261430f
Diffstat (limited to 'libs/androidfw/AssetManager2.cpp')
0 files changed, 0 insertions, 0 deletions