diff --git a/lib/content_views/approach_area_page.dart b/lib/content_views/approach_area_page.dart index d9b8cce..4fd0c96 100644 --- a/lib/content_views/approach_area_page.dart +++ b/lib/content_views/approach_area_page.dart @@ -195,7 +195,7 @@ class _ApproachAreaPageState extends State with ProducerMixin, if (position != null) { setPosMessage.track = ZipTrack(); - setPosMessage.track!.time = Util.toUnixMillisUtc(DateTime.now()); + setPosMessage.track!.time = Util.nowUnixSecondsUtc(); setPosMessage.track!.pos = ZipTrackPos(); setPosMessage.track!.pos!.lat = position.latitude; setPosMessage.track!.pos!.long = position.longitude; diff --git a/lib/content_views/assigned_jobs_page.dart b/lib/content_views/assigned_jobs_page.dart index 9790125..2c422cc 100644 --- a/lib/content_views/assigned_jobs_page.dart +++ b/lib/content_views/assigned_jobs_page.dart @@ -231,7 +231,7 @@ class _AssignedJobsPageState extends State with ProducerMixin, message.ver = job.ver.toString(); message.item = item; message.track = Track(); - message.track.time = Util.toUnixMillisUtc(DateTime.now().toUtc()); + message.track.time = Util.nowUnixSecondsUtc(); message.track.pos = FinTaskPos(); message.track.pos!.lat = currentPosition != null ? currentPosition.latitude : 0.0; message.track.pos!.long = currentPosition != null ? currentPosition.longitude : 0.0; diff --git a/lib/content_views/main_page.dart b/lib/content_views/main_page.dart index d0569bb..c3e9820 100644 --- a/lib/content_views/main_page.dart +++ b/lib/content_views/main_page.dart @@ -420,7 +420,7 @@ class _MainPageState extends State with ConsumerMixin, ProducerMixin { var logoutMessage = LogoutMessage(); if (position != null) { logoutMessage.pos = LogoutMessagePosition(); - logoutMessage.pos!.time = Util.toUnixMillisUtc(position.timestamp); + logoutMessage.pos!.time = Util.toUnixSecondsUtc(position.timestamp); logoutMessage.pos!.lat = position.latitude; logoutMessage.pos!.long = position.longitude; logoutMessage.pos!.acc = position.accuracy.toInt(); diff --git a/lib/content_views/messages_page.dart b/lib/content_views/messages_page.dart index 0a26714..5a0abc6 100644 --- a/lib/content_views/messages_page.dart +++ b/lib/content_views/messages_page.dart @@ -93,7 +93,7 @@ class _MessagesPageState extends State with ProducerMixin { message.text = text.text; message.from = _sid; message.subj = ''; - message.time = Util.toUnixMillisUtc(now.toUtc()); + message.time = Util.nowUnixSecondsUtc(); message.read = true; message.id = await sbmessage.ChatMessage.getNextId(); @@ -214,7 +214,7 @@ class _MessagesPageState extends State with ProducerMixin { var chatMessagesShowed = ChatMessagesReceived(); chatMessagesShowed.ids = chatMessageIds; - chatMessagesShowed.time = Util.toUnixMillisUtc(DateTime.now().toUtc()); + chatMessagesShowed.time = Util.nowUnixSecondsUtc(); sendMessage( routingKey: Constants.messageTopicPublishPayload, diff --git a/lib/content_views/task_list_page.dart b/lib/content_views/task_list_page.dart index 173e440..ac15e12 100644 --- a/lib/content_views/task_list_page.dart +++ b/lib/content_views/task_list_page.dart @@ -489,12 +489,12 @@ class _TaskListPageState extends State with ProducerMixin { message.trId = widget.tour.id; message.task = Task(); message.task.sId = taskInfo.task.sId; - message.task.time = Util.toUnixMillisUtc(DateTime.now().toUtc()); + message.task.time = Util.nowUnixSecondsUtc(); var position = await MyApp.getCurrentPosition(); if (position != null) { message.task.pos = FinTaskPos(); - message.task.pos!.time = Util.toUnixMillisUtc(position.timestamp); + message.task.pos!.time = Util.toUnixSecondsUtc(position.timestamp); message.task.pos!.lat = position.latitude; message.task.pos!.long = position.longitude; } else { @@ -512,10 +512,10 @@ class _TaskListPageState extends State with ProducerMixin { var finTourTask = FinTourTask(); finTourTask.sId = taskInfo.task.sId; - finTourTask.time = Util.toUnixMillisUtc(DateTime.now().toUtc()); + finTourTask.time = Util.nowUnixSecondsUtc(); if (position != null) { finTourTask.pos = FinTaskPos(); - finTourTask.pos!.time = Util.toUnixMillisUtc(position.timestamp); + finTourTask.pos!.time = Util.toUnixSecondsUtc(position.timestamp); finTourTask.pos!.lat = position.latitude; finTourTask.pos!.long = position.longitude; finTourTask.pos!.acc = position.accuracy.toInt(); @@ -534,7 +534,7 @@ class _TaskListPageState extends State with ProducerMixin { var position = await MyApp.getCurrentPosition(); if (position != null) { finTourMessage.track = Track(); - finTourMessage.track!.time = Util.toUnixMillisUtc(DateTime.now().toUtc()); + finTourMessage.track!.time = Util.nowUnixSecondsUtc(); finTourMessage.track!.pos = FinTaskPos(); finTourMessage.track!.pos!.lat = position.latitude; finTourMessage.track!.pos!.long = position.longitude; diff --git a/lib/popups/accept_jobs_popup.dart b/lib/popups/accept_jobs_popup.dart index a18f795..65d27bc 100644 --- a/lib/popups/accept_jobs_popup.dart +++ b/lib/popups/accept_jobs_popup.dart @@ -375,7 +375,7 @@ _sendAnswer(SharedMapReference mapReference, Job job, int item) async { message.ver = job.ver.toString(); message.item = item; message.track = Track(); - message.track.time = Util.toUnixMillisUtc(DateTime.now().toUtc()); + message.track.time = Util.nowUnixSecondsUtc(); message.track.pos = FinTaskPos(); message.track.pos!.lat = currentPosition != null ? currentPosition.latitude : 0.0; message.track.pos!.long = currentPosition != null ? currentPosition.longitude : 0.0; diff --git a/lib/tools/mqtt_core.dart b/lib/tools/mqtt_core.dart index b21c931..27f33a0 100644 --- a/lib/tools/mqtt_core.dart +++ b/lib/tools/mqtt_core.dart @@ -595,7 +595,7 @@ class MqttCore with ProducerMixin, ConsumerMixin { answer.utcUnixTime = DateTime.now().toUtc().millisecondsSinceEpoch ~/ 1000; answer.pos = SyncMessagePos(); - answer.pos!.time = currentPosition != null ? Util.toUnixMillisUtc(currentPosition.timestamp.toUtc()) : 0; + answer.pos!.time = currentPosition != null ? Util.toUnixSecondsUtc(currentPosition.timestamp.toUtc()) : 0; answer.pos!.lat = currentPosition != null ? currentPosition.latitude : 0.0; answer.pos!.long = currentPosition != null ? currentPosition.longitude : 0.0; answer.pos!.acc = currentPosition != null ? currentPosition.accuracy.toInt() : 0; @@ -622,7 +622,7 @@ class MqttCore with ProducerMixin, ConsumerMixin { var trackMessage = TrackPosition(); if (position != null) { - trackMessage.time = Util.toUnixMillisUtc(position.timestamp); + trackMessage.time = Util.toUnixSecondsUtc(position.timestamp); trackMessage.lat = position.latitude; trackMessage.long = position.longitude; trackMessage.acc = position.accuracy.toInt(); diff --git a/lib/tools/util.dart b/lib/tools/util.dart index 0cb9bdc..cbd7d99 100644 --- a/lib/tools/util.dart +++ b/lib/tools/util.dart @@ -18,10 +18,7 @@ import '../Tools/colored_safe_area.dart'; class Util { static late SharedPreferences prefs; - // DateTime → UTC Unix timestamps - static int toUnixMillisUtc(DateTime dt) => dt.toUtc().millisecondsSinceEpoch; - static int nowUnixMillisUtc() => DateTime.now().toUtc().millisecondsSinceEpoch; - // Optional: Unix seconds + static int nowUnixSecondsUtc() => DateTime.now().toUtc().millisecondsSinceEpoch ~/ 1000; static int toUnixSecondsUtc(DateTime dt) => dt.toUtc().millisecondsSinceEpoch ~/ 1000;