updateParameters method

void updateParameters({
  1. required double triggerDistance,
  2. required double settleDistance,
  3. required Duration duration,
  4. required Duration refreshDuration,
  5. required Duration collapseDuration,
  6. required Curve collapseCurve,
  7. required double animationSpeed,
  8. required bool enableHaptics,
  9. ScrollController? scrollController,
})

Implementation

void updateParameters({
  required double triggerDistance,
  required double settleDistance,
  required Duration duration,
  required Duration refreshDuration,
  required Duration collapseDuration,
  required Curve collapseCurve,
  required double animationSpeed,
  required bool enableHaptics,
  ScrollController? scrollController,
}) {
  this.triggerDistance = triggerDistance;
  this.settleDistance = settleDistance;
  this.duration = duration;
  this.refreshDuration = refreshDuration;
  this.collapseDuration = collapseDuration;
  this.collapseCurve = collapseCurve;
  this.animationSpeed = animationSpeed;
  this.enableHaptics = enableHaptics;
  this.scrollController = scrollController;

  final motion = Get.isRegistered<MotionController>()
      ? Get.find<MotionController>()
      : null;
  final speed = motion?.speedMultiplier ?? 1.0;

  resetController.duration = Duration(milliseconds: (300 / speed).round());
  tickerController.duration = Duration(
      milliseconds:
          (duration.inMilliseconds / (speed * animationSpeed)).round());
}