in lib/studies/reply/adaptive_nav.dart [566:593]
void _handleDragEnd(DragEndDetails details) {
if (_drawerController.isAnimating ||
_drawerController.status == AnimationStatus.completed) {
return;
}
final flingVelocity =
details.velocity.pixelsPerSecond.dy / _bottomDrawerHeight;
if (flingVelocity < 0.0) {
_drawerController.fling(
velocity: math.max(_kFlingVelocity, -flingVelocity),
);
} else if (flingVelocity > 0.0) {
_dropArrowController.forward();
_drawerController.fling(
velocity: math.min(-_kFlingVelocity, -flingVelocity),
);
} else {
if (_drawerController.value < 0.6) {
_dropArrowController.forward();
}
_drawerController.fling(
velocity:
_drawerController.value < 0.6 ? -_kFlingVelocity : _kFlingVelocity,
);
}
}