Update live_information.dart

This commit is contained in:
ImBenji
2024-02-28 06:00:05 +00:00
parent 736720f681
commit 262aef11ef

View File

@@ -82,16 +82,22 @@ class LiveInformation {
if (audioPlayer.state != AudioWrapper_State.Playing) {
if (announcementQueue.isNotEmpty) {
// Is the announcement in the queue ready to be announced? (is within 100ms of the current time)
if (announcementQueue.first.timestamp != null && announcementQueue.first.timestamp!.isAfter(DateTime.now().add(Duration(milliseconds: 100)))) {
return;
AnnouncementQueueEntry announcement = announcementQueue.first;
{
DateTime now = DateTime.now();
if (announcement.timestamp != null) {
Duration difference = now.difference(announcement.timestamp!);
if (difference.inMilliseconds <= 100) {
// Account for the time lost by the periodic timer
await Future.delayed(Duration(milliseconds: 100 - difference.inMilliseconds));
}
}
Duration difference = DateTime.now().difference(announcementQueue.first.timestamp!);
await Future.delayed(Duration(milliseconds: 100 - difference.inMilliseconds));
}
AnnouncementQueueEntry announcement = announcementQueue.first;
announcementDelegate.trigger(announcement);
_currentAnnouncement = announcement.displayText;
@@ -169,7 +175,7 @@ class LiveInformation {
if (announcement is ManualAnnouncementEntry) {
// 5 sedonds in the future
DateTime scheduledTime = DateTime.now().add(Duration(seconds: 5));
DateTime scheduledTime = DateTime.now().add(Duration(seconds: 10));
final document = databases.createDocument(
documentId: appwrite.ID.unique(),