play method

void play()

Implementation

void play() {
  _streamSubscription = Stream<Duration>.periodic(
    config.periodic,
    (_) {
      if (!(_streamSubscription?.isPaused ?? true)) {
        if (_isCountUp) {
          return _durationLeft += config.periodic;
        } else {
          return _durationLeft -= config.periodic;
        }
      }
      return Duration.zero;
    },
  ).listen(
    (event) {
      if (_streamController.isClosed) return;
      _streamController.add(_durationLeft);

      if (isDone) _onDone();
    },
  );
}