cpd_2022_zi/lib/providers/timer_provider.dart

26 lines
551 B
Dart

import 'dart:async';
import 'package:flutter/material.dart';
class TimerProvider extends ChangeNotifier {
Timer? _timer;
bool started = false;
int get elapsedSeconds => _timer != null ? _timer!.tick : 0;
void startTimer(Duration duration) {
started = true;
_timer = Timer.periodic(const Duration(seconds: 1), ((timer) {
if (timer.tick >= duration.inSeconds) {
timer.cancel();
started = false;
}
notifyListeners();
}));
}
void stopTimer() {
started = false;
_timer?.cancel();
}
}