EfficientCircularCountdownTimerLogic constructor

EfficientCircularCountdownTimerLogic({
  1. required int duration,
  2. int initialDuration = 0,
  3. bool isReverse = false,
  4. String timeFormatter(
    1. int seconds
    )?,
})

Implementation

EfficientCircularCountdownTimerLogic({
  required this.duration,
  this.initialDuration = 0,
  this.isReverse = false,
  String Function(int seconds)? timeFormatter,
}) : _currentSeconds = initialDuration,
     timeNotifier = ValueNotifier<String>(
       timeFormatter != null
           ? timeFormatter(initialDuration)
           : _defaultFormatter(initialDuration),
     ),
     isRunningNotifier = ValueNotifier<bool>(false) {
  if (duration <= 0) {
    throw EfficientCircularCountdownTimerException('duration must be > 0');
  }
  if (initialDuration < 0) {
    throw EfficientCircularCountdownTimerException(
      'initialDuration must be >= 0',
    );
  }
  if (initialDuration > duration) {
    throw EfficientCircularCountdownTimerException(
      'initialDuration must be <= duration',
    );
  }
}