Fehlerkorrekturen und Erweiterungen

This commit is contained in:
Sven committed 2025-08-28 10:45:58 +02:00
1 parent 265d75a99b
commit 47b4c85133
14 files changed
+155 -125

No files matched your search

+19 -3
View File
@@ -1,6 +1,7 @@
import 'dart:async';
import 'package:dart_mq/dart_mq.dart';
import 'package:synchronized/synchronized.dart';
import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
import 'package:isar/isar.dart';
@@ -100,10 +101,25 @@ class MyApp extends StatefulWidget {
static late Isar isarInstance;
static Position? currentPosition;
static Position? _currentPosition;
static final Lock _positionLock = Lock();
static bool suppressAcceptDialog = false;
/// Thread-safe getter for current position
static Future<Position?> getCurrentPosition() async {
return await _positionLock.synchronized(() {
return _currentPosition;
});
}
/// Thread-safe setter for current position
static Future<void> setCurrentPosition(Position? position) async {
await _positionLock.synchronized(() {
_currentPosition = position;
});
}
@override
State<MyApp> createState() => _MyAppState();
}
@@ -138,8 +154,8 @@ class _MyAppState extends State<MyApp> with ConsumerMixin {
distanceFilter: 0,
);
Geolocator.getPositionStream(locationSettings: locationSettings).listen((Position? position) {
MyApp.currentPosition = position;
Geolocator.getPositionStream(locationSettings: locationSettings).listen((Position? position) async {
await MyApp.setCurrentPosition(position);
});
}
}