diff options
author | wilsonshih <wilsonshih@google.com> | 2019-04-03 15:55:02 +0800 |
---|---|---|
committer | wilsonshih <wilsonshih@google.com> | 2019-04-16 14:34:20 +0800 |
commit | 4dd07128770768223b0025f4cdc7559cdc71707f (patch) | |
tree | 24bb8c62d2091f09a4044b10e8e7a9c0678541a3 /rs/java/android/renderscript/ProgramVertexFixedFunction.java | |
parent | be0106abced580a34ea89d0484b2851d0b73065c (diff) |
Fix pinned stack destination been overwrite by obsolete animator.
There is a race condition when an app leave from landscape mode and enter
pinned stack in portrait mode. First racer is that TaskStack will post
animateBounds to animation thread, the second is #onConfigurationChanged
will ask TaskStack to update new stack bounds if needed.
When the first animation executed, it will call TaskStack#onAnimationEnd
then #setPinnedStackSize, however, this bounds may already obsoleted if
configuration changed happen after first animation is posted.
To fix this issue, we can cancel the existing animator via verifying the
final destination, and prevent animator set obsoleted bounds back if the
animation is canceled.
Fix: 129723312
Test: Try reproduce this issue over 100+ times.
Test: atest ActivityManagerPinnedStackTests
Test: atest BoundsAnimationControllerTests
Change-Id: I5d42cbe576e7683b22679b1e97be07063c2a05d6
Diffstat (limited to 'rs/java/android/renderscript/ProgramVertexFixedFunction.java')
0 files changed, 0 insertions, 0 deletions