startTimer method
void
startTimer({
- required Duration duration,
- VoidCallback? onFinish,
- VoidCallback? onPause,
- VoidCallback? onResume,
- VoidCallback? onReset,
- void onTick(
- Duration remaining
- void onError(
- String error
- Duration interval = const Duration(seconds: 1),
- bool autoStart = true,
Start a countdown timer
Implementation
void startTimer({
required Duration duration,
VoidCallback? onFinish,
VoidCallback? onPause,
VoidCallback? onResume,
VoidCallback? onReset,
void Function(Duration remaining)? onTick,
void Function(String error)? onError,
Duration interval = const Duration(seconds: 1),
bool autoStart = true,
}) {
_clearError();
if (duration.isNegative || duration.isZero) {
_setError('Duration must be positive');
return;
}
stopTimer();
_config = CountdownConfig(
duration: duration,
interval: interval,
autoStart: autoStart,
onFinish: onFinish,
onPause: onPause,
onResume: onResume,
onReset: onReset,
onTick: onTick,
);
_totalDuration = duration;
_remaining = duration;
_onFinishCallback = onFinish;
_onPauseCallback = onPause;
_onResumeCallback = onResume;
_onResetCallback = onReset;
_onTickCallback = onTick;
_onErrorCallback = onError;
_isFinished = false;
_isVisible = true;
if (autoStart) {
_startTimerInternal();
}
notifyListeners();
}