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);
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");
}
}

View File

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

View File

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