startCountdown method

LxCountdown startCountdown({
  1. required Duration duration,
  2. Duration interval = const Duration(seconds: 1),
  3. void onTick(
    1. Duration remaining
    )?,
  4. void onFinish()?,
})

Starts a reactive countdown.

Returns an LxCountdown object that exposes the LxCountdown.remaining duration and control methods (pause, resume, stop).

  • duration: The total duration to count down/up.
  • interval: The tick interval (default: 1 second).
  • onTick: Called on every interval.
  • onFinish: Called when the countdown reaches zero.

Implementation

LxCountdown startCountdown({
  required Duration duration,
  Duration interval = const Duration(seconds: 1),
  void Function(Duration remaining)? onTick,
  void Function()? onFinish,
}) {
  final countdown = LxCountdown(
    totalDuration: duration,
    interval: interval,
    onTick: onTick,
    onFinish: onFinish,
  );
  // Countdown owns a reactive field internally, so this mixin tracks disposal explicitly.
  _countdowns.add(countdown);
  countdown.start();
  return countdown;
}