GPS data save to supabase on the navigation screen #2

This commit is contained in:
torok.istvan 2025-10-11 23:13:05 +02:00
parent e8a6e4464a
commit 7e035f1414
3 changed files with 43 additions and 39 deletions

View File

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

View File

@ -27,10 +27,10 @@ class NavigationView extends GetView<NavigationViewController> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text('Navigáció'), Text('Navigáció'),
Text( // Text(
"Mérés: Zalaegerszeg", // "Mérés: Zalaegerszeg",
style: TextStyle(fontSize: 12.0), // style: TextStyle(fontSize: 12.0),
) // )
], ],
), ),
actions: [ actions: [

View File

@ -24,20 +24,18 @@ class SettingsDialog extends StatelessWidget {
controller.ntripUsernameController.text; controller.ntripUsernameController.text;
controller.saveNtripUserName( controller.saveNtripUserName(
controller.ntripUsernameController.text); controller.ntripUsernameController.text);
if (controller }
.ntripPasswordController.text.isNotEmpty) { if (controller.ntripPasswordController.text.isNotEmpty) {
controller.ntripPassword.value = controller.ntripPassword.value =
controller.ntripPasswordController.text; controller.ntripPasswordController.text;
controller.saveNtripPassword( controller.saveNtripPassword(
controller.ntripPasswordController.text); controller.ntripPasswordController.text);
} }
if (controller if (controller.vehicleNumberController.text.isNotEmpty) {
.vehicleNumberController.text.isNotEmpty) { controller.vehicleNumber.value =
controller.vehicleNumber.value = int.parse( int.parse(controller.vehicleNumberController.text);
controller.vehicleNumberController.text); controller.saveVehicleNumber(
controller.saveVehicleNumber(int.parse( int.parse(controller.vehicleNumberController.text));
controller.vehicleNumberController.text));
}
} }
Get.back(); Get.back();
}, },
@ -52,20 +50,20 @@ class SettingsDialog extends StatelessWidget {
controller.ntripUsernameController.text; controller.ntripUsernameController.text;
controller.saveNtripUserName( controller.saveNtripUserName(
controller.ntripUsernameController.text); controller.ntripUsernameController.text);
if (controller }
.ntripPasswordController.text.isNotEmpty) { if (controller.ntripPasswordController.text.isNotEmpty) {
controller.ntripPassword.value = controller.ntripPassword.value =
controller.ntripPasswordController.text; controller.ntripPasswordController.text;
controller.saveNtripPassword( controller.saveNtripPassword(
controller.ntripPasswordController.text); controller.ntripPasswordController.text);
} }
if (controller print(
.vehicleNumberController.text.isNotEmpty) { "vehicleNumberController: ${controller.vehicleNumberController.text}");
controller.vehicleNumber.value = int.parse( if (controller.vehicleNumberController.text.isNotEmpty) {
controller.vehicleNumberController.text); controller.vehicleNumber.value =
controller.saveVehicleNumber(int.parse( int.parse(controller.vehicleNumberController.text);
controller.vehicleNumberController.text)); controller.saveVehicleNumber(
} int.parse(controller.vehicleNumberController.text));
} }
Get.back(); Get.back();
}, },