start method

void start()

Starts (or resumes) the time countdown.

If the CountdownTimer currently running, then calling start does nothing.

Implementation

void start() {
  if (_stopwatch.isRunning || _callback == null) {
    return;
  }

  _stopwatch.start();
  final remaining = _duration.inMicroseconds - _stopwatch.elapsedMicroseconds;
  if (remaining <= 0) {
    _handle();
    return;
  }

  final duration = Duration(microseconds: remaining);
  _timer = Timer(duration, _handle);
}