More stabilize predictive back animation.
The one way binder call may not invoke immediately, so it's also
possible that shell side received onAnimationStart after core has
canceled that animation. So in shell, validate the leashes of animation
targets before send it to runner, normally NavigationObserver should
receive cancel callback after that.
Also add the same check before send animation targets to shell, if
invalide, cancel the animation and notify onAnimationCancelled.
Bug: 327312316
Bug: 318294405
Test: simulate send invalidate animation targets to shell, verify it
won't crash systemui.
Change-Id: I4ffa8b6654806181763d6a58d2a748537675e030
4 files changed