Add isAnimationCallback() in BackNavigationInfo
This method returns if the callback is an OnBackAnimationCallback. This value can be serialized and can be used to determine whether or not to run predictive animations when you have no way to check the callback directly, for example in the BackAnimationController you only have access to the IOnBackInvokedCallback. Why? OnBackAnimationCallback is used by apps that want to play a custom animation when the user swipes back. OnBackAnimationCallback exposes BackEvent every time there is a new progress value. Ideally, we would like to expose the velocity only on the last progress value (or onBackInvoked()), but to do that we have to change the API. We are unable to do so now. Therefore, we decided to handle the fling gesture in the system instead. As a result, we now need to determine if the app supports OnBackAnimationCallback so that we only send the fling if we have an OnBackAnimationCallback registered. BackAnimationController can now produce more back events. This is done by producing more events when the user lifts their finger. This way, the developer does not have to handle the fling gesture. This approach was chosen because the velocity cannot be exposed in the BackEvent. Test: atest BackNavigationControllerTests Bug: 263402927 Change-Id: I4d85253c9ade39f35ef0d8c70c6b1c7c31b1390d
Loading
Please register or sign in to comment