diff options
| author | 2022-10-18 19:46:45 +0000 | |
|---|---|---|
| committer | 2022-10-25 00:49:10 +0000 | |
| commit | 06502521d4ad6119a00b81eb69c866c4111df854 (patch) | |
| tree | c183045871adfa743f15cd9447caffc91c885da3 /libs/androidfw/StringPool.cpp | |
| parent | fe8b17d49d118e3a466b01c8d20919c7a8a58b5b (diff) | |
Prevent animation update callbacks after it has finished
Remove the update listener once the animation has ended or has been
canceled to prevent further updates from trying to animate a surface
that has already been released.
This scenario can happend when mergeAnimation() manually runs end() on
animations that already finished but had not been removed yet. This may
happen because the removal of the animation is posted from the shell
anim thread to the shell main thread, so mergeAnimation() may win a race
and schedule another end() before the first end() removes the
animations.
Bug: 252872225
Test: boot, no shell.anim crash
Change-Id: I442f1152fba97c30ce425b08f1aa65bb94fb3bb4
Merged-In: I442f1152fba97c30ce425b08f1aa65bb94fb3bb4
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions