start method

void start()

Starts the countdown.

Implementation

void start() {
  _timer = Timer.periodic(Duration(seconds: secondsToSubtract), (timer) {
    if (_currentSecondsToSubtract == 0) {
      return;
    }

    int seconds = _currentDuration.inSeconds - _currentSecondsToSubtract;
    if (seconds <= 0) {
      cancel();
      for (CountdownListener listener in listeners) {
        listener.onTick(Duration.zero);
      }
      return;
    }

    _currentDuration = Duration(seconds: seconds);
    for (CountdownListener listener in listeners) {
      listener.onTick(_currentDuration);
    }
  });
  for (CountdownListener listener in listeners) {
    listener.onStarted();
  }
}