Fix unfreeze on unstarted freezer
Before, when trigger change transition and screen freeze before the previous transition is finished, it will cancel the animation and call to unfreeze. However, it will then unfreeze the new snapshot instead of the old one, which cause a client crash because of missing leash. The fix contains two changes: 1. Let SurfaceAnimator to take the snapshot from the freezer as it does for animation leash. 2. When an animation leash needs to be removed, check if it is the current animation leash (parent of the window surface) before reparenting the window surface back to the parent window surface. Bug: 201622511 Bug: 196173550 Test: atest WmTests:WindowContainerTests #testStartChangeTransitionWhenPreviousIsNotFinished Test: click demo app launch spit before the previous one is finished Change-Id: I58fb05a971b49981d168d00c9fb42014b4d3cd4d
Loading
Please register or sign in to comment