[ShellTrans] Fix SystemUI crash when finish keyguard animation.
The animation leashes will be release after calls KVM#finishSurfaceBehindRemoteAnimation, so if there are playing animation with setSurfaceBehindAppearAmount, the released leash could cause SystemUI crash. There are two scenario may cause that crash: 1. Hovering between Keyguard <=> Launcher, which could trigger fadeOutSurfaceBehind and finish the remote animation, so the surfaceBehindRemoteAnimationTargets could remained in KUAC. Then when next transition animation start, KUAC could attemp to play animation with those released leash. 2. Unlock keyguard directly, notifyFinishedKeyguardExitAnimation will cancel the surfaceBehindAlphaAnimator, which could finish the remote animation immediately before setSurfaceBehindAppearAmount. To ensure the opening app must be visible, calls setSurfaceBehindAppearAmount before cancel animatiors. Fixes: 262444073 Test: enable shell transition, then scroll up to unlock device, a. verify the launcher won't stay in a fully/semi transparent. b. verify the launcher won't reshow when scrolling on keyguard. Also verify above cases via fingerprint unlock. Change-Id: Ib8c0211c35e76ec46337c1e8807e381081755ad1
Loading
Please register or sign in to comment