tree 7b36b9b4ab316c773cd34ab7a3a936615bc61952
parent c25d75df9c919839a68c3a41503379737fa15d98
author Jossi Wolf <jossiwolf@google.com> 1664549628 +0200
committer Jossi Wolf <jossiwolf@google.com> 1666256370 +0000

Positional and velocity thresholds in Swipeable V2.

Positional thresholds allow defining a point from the origin of an interaction (swipes or animations) that needs to be crossed in order for the next closest state in the interaction direction to be considered the target state.
In Material 2, the default value is 56 dp. A positional threshold can be either a fixed (absolute value) or a fractional value. A fixed threshold can be defined using `fixedPositionalThreshold(x.dp)`, a fractional threshold using `fractionalPositionalThreshold(0.3f)`.
Positional thresholds should not be different between different states, but can be calculated from the distance, i.e. when expressing a fractional threshold.

Velocity thresholds help interpret user intent. Velocity thresholds take precedence over positional thresholds when calculating the target. If the velocity is higher than the velocity threshold but the positional threshold has not yet been reached, the next closest state in the interaction direction will still be the target state.
Velocity thresholds are always constant per Swipeable instance and should not change between different states to create consistent UX.
In Material 2, the default value is 125 dp/ms.

Compared to Swipeable V1, thresholds are more consistent and have simpler layering, removing the `ThresholdConfig` API.

Test: SwipeableV2GestureTest
Relnote: N/A
Bug: 247983516

Change-Id: I61679a2e310d710f82ec4adce538a9c156a69939
