handleAnimateChange method

void handleAnimateChange({
  1. required Duration delay,
  2. required bool animate,
  3. required bool manualTrigger,
  4. required bool infinite,
  5. Duration loopDelay = Duration.zero,
})
inherited

Reacts to animate toggles after initState. Should be called from didUpdateWidget (or any custom flow) when widget.animate changes.

Implementation

void handleAnimateChange({
  required Duration delay,
  required bool animate,
  required bool manualTrigger,
  required bool infinite,
  Duration loopDelay = Duration.zero,
}) {
  if (disposed) return;

  if (animate && !manualTrigger) {
    _scheduleStart(delay: delay, infinite: infinite, loopDelay: loopDelay);
    return;
  }

  if (!animate) {
    _delayTimer?.cancel();

    if (infinite) {
      _loopTimerActive = false;
      _loopDelayTimer?.cancel();
      controller.stop();
      controller.value = 0;
      return;
    }

    if (this is ResetOnReverseAnimation && !isFirstTime) {
      controller.value = 0;
      return;
    }

    controller.animateBack(0);
    isFirstTime = false;
  }
}