Refactor excursion_main.dart to implement a confirmation dialog on page exit, allowing users to save templates or exit without saving. Update TrackingService to support instance reset for better state management.

This commit is contained in:
Nico
2025-06-04 22:19:58 +02:00
parent 4b88071700
commit ef5faf7d3d
2 changed files with 147 additions and 83 deletions

View File

@@ -9,10 +9,22 @@ import 'package:latlong2/latlong.dart';
import 'package:shared_preferences/shared_preferences.dart';
class TrackingService {
static final TrackingService _instance = TrackingService._internal();
factory TrackingService() => _instance;
static TrackingService? _instance;
factory TrackingService() {
_instance ??= TrackingService._internal();
return _instance!;
}
TrackingService._internal();
static void resetInstance() {
if (_instance != null) {
_instance!.dispose();
_instance = null;
}
}
List<LatLng> pathList = [];
List<double> accuracyList = [];
Timer? _positionTimer;