From 3687246b1390dac426807fd67970aa14ec1ee633 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Thu, 7 Mar 2024 00:23:59 +0100 Subject: [PATCH] force UI updates in case app was suspended --- .../NotificationService.swift | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/DcNotificationService/NotificationService.swift b/DcNotificationService/NotificationService.swift index 423ca36ee..9d9a479a5 100644 --- a/DcNotificationService/NotificationService.swift +++ b/DcNotificationService/NotificationService.swift @@ -33,10 +33,9 @@ class NotificationService: UNNotificationServiceExtension { } } } - bestAttemptContent.badge = dcAccounts.getFreshMessageCount() as NSNumber - dcAccounts.closeDatabase() if messageCount == 0 { + dcAccounts.closeDatabase() let canSilenceContent = false if canSilenceContent { let silentContent = UNMutableNotificationContent() @@ -50,21 +49,21 @@ class NotificationService: UNNotificationServiceExtension { } contentHandler(bestAttemptContent) } - } else if messageCount == 1 { - if #available(iOS 15.0, *) { - bestAttemptContent.relevanceScore = 1.0 - } - contentHandler(bestAttemptContent) } else { - if uniqueChats.count == 1 { - bestAttemptContent.body = "\(messageCount) messages" - } else { - bestAttemptContent.title = uniqueChats.values.joined(separator: ", ") - bestAttemptContent.body = "\(messageCount) messages in \(uniqueChats.count) chats" + bestAttemptContent.badge = dcAccounts.getFreshMessageCount() as NSNumber + dcAccounts.closeDatabase() + if messageCount > 1 { + if uniqueChats.count == 1 { + bestAttemptContent.body = "\(messageCount) messages" + } else { + bestAttemptContent.title = uniqueChats.values.joined(separator: ", ") + bestAttemptContent.body = "\(messageCount) messages in \(uniqueChats.count) chats" + } } if #available(iOS 15.0, *) { bestAttemptContent.relevanceScore = 1.0 } + UserDefaults.shared?.set(true, forKey: UserDefaults.hasExtensionAttemptedToSend) // force UI updates in case app was suspended contentHandler(bestAttemptContent) } }