EfficientCircularCountdownTimerLogic constructor
EfficientCircularCountdownTimerLogic({})
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',
);
}
}