cpd_2022_zi/lib/providers/timer_provider.dart

27 lines
570 B
Dart
Raw Normal View History

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();
}));
}
2023-02-28 15:07:47 +01:00
void stopTimer() {
started = false;
_timer?.cancel();
_timer = null;
2023-02-28 15:07:47 +01:00
}
}