GPS data save to supabase on the navigation screen #2

This commit is contained in:
2025-10-11 23:13:05 +02:00
parent e8a6e4464a
commit 7e035f1414
3 changed files with 43 additions and 39 deletions
@@ -305,7 +305,7 @@ class NavigationViewController extends GetxController {
await internalGpsLocation.changeSettings(interval: 10000);
internalGpsLocationSubscription =
internalGpsLogger.onLocationChanged.listen((LocationData value) {
internalGpsLogger.onLocationChanged.listen((LocationData value) async {
double? longitude;
double? latitude;
double? accuracy;
@@ -337,7 +337,9 @@ class NavigationViewController extends GetxController {
// "createdAt": DateTime.timestamp()
// });
Supabase.instance.client.from('TerepiSeged_VibratorTracker').insert({
await Supabase.instance.client
.from('TerepiSeged_VibratorTracker')
.insert({
'gpsType': 0,
'vibratorNumber': vehicleNumber.value,
'gpsDateTime': time.toIso8601String(),
@@ -641,11 +643,14 @@ class NavigationViewController extends GetxController {
if (DateTime.now().difference(lastGpsDataSaveTime).inSeconds >= 10 &&
gpsQuality.value > 0) {
lastGpsDataSaveTime = DateTime.now();
_savePositionToDatabase();
print("Save to databases: ${lastGpsDataSaveTime}");
}
}
void _savePositionToDatabase() {
void _savePositionToDatabase() async {
_vibratorTracker.add({
"gpsType": 1,
"vibratorNumber": vehicleNumber.value,
@@ -662,8 +667,9 @@ class NavigationViewController extends GetxController {
"createdAt": DateTime.timestamp()
});
final res =
Supabase.instance.client.from('TerepiSeged_VibratorTracker').insert({
final res = await Supabase.instance.client
.from('TerepiSeged_VibratorTracker')
.insert({
"gpsType": 1,
"vibratorNumber": vehicleNumber.value,
"gpsQuality": gpsQuality.value,
@@ -675,11 +681,10 @@ class NavigationViewController extends GetxController {
"eovX": eov.value.X,
"horizontalError": max(gpsLatitudeError.value, gpsLongitudeError.value),
"verticalError": gpsAltitudeError.value,
// "heightOfGeoid": gpsGeoidSeparation.value,
"poleHeight": double.parse(gpsHeightController.text)
}).select();
print(res);
lastGpsDataSaveTime = DateTime.now();
}
String getGpsQualityIndicator({required int quality}) {
@@ -1078,5 +1083,6 @@ class NavigationViewController extends GetxController {
void saveVehicleNumber(int vehicleNumber) {
prefs.setInt('vehicleNumber', vehicleNumber);
print("Save vehicleNumber to prefs");
}
}