Fehlerkorrekturen und Erweiterungen
This commit is contained in:
1 parent
265d75a99b
commit
47b4c85133
14 files changed
+155
-125
No files matched your search
+19
-3
@@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user