startTimer method
void
startTimer()
Implementation
void startTimer() {
stopTimer();
_elapsedTimeInSeconds = 0; // Reset elapsed time when starting the timer
timer = Timer.periodic(tickInSecond, (t) {
if (isIncrementing) {
remainingTimeInSeconds++;
_elapsedTimeInSeconds++; // Increment elapsed time
} else {
remainingTimeInSeconds--;
_elapsedTimeInSeconds = endTimerInSeconds - remainingTimeInSeconds; // Track elapsed time in decrement mode
}
notifyListeners();
// Trigger controller's onTick callback
controller?.onTick?.call(Duration(seconds: remainingTimeInSeconds));
// Check if the timer completes
if (_isTimeComplete()) {
stopTimer();
controller?.onComplete?.call();
}
});
}