فهرست منبع

synchronize unread message badge update

cyberta 2 سال پیش
والد
کامیت
82fbb421e3
1فایلهای تغییر یافته به همراه3 افزوده شده و 0 حذف شده
  1. 3 0
      deltachat-ios/Helper/NotificationManager.swift

+ 3 - 0
deltachat-ios/Helper/NotificationManager.swift

@@ -10,6 +10,7 @@ public class NotificationManager {
 
 
     private let dcAccounts: DcAccounts
     private let dcAccounts: DcAccounts
     private var dcContext: DcContext
     private var dcContext: DcContext
+    private static let lock = NSObject()
 
 
     init(dcAccounts: DcAccounts) {
     init(dcAccounts: DcAccounts) {
         self.dcAccounts = dcAccounts
         self.dcAccounts = dcAccounts
@@ -25,6 +26,8 @@ public class NotificationManager {
     }
     }
 
 
     public static func updateApplicationIconBadge(dcContext: DcContext, reset: Bool) {
     public static func updateApplicationIconBadge(dcContext: DcContext, reset: Bool) {
+        objc_sync_enter(lock)
+        defer { objc_sync_exit(lock) }
         var unreadMessages = 0
         var unreadMessages = 0
         if !reset {
         if !reset {
             unreadMessages = dcContext.getFreshMessages().count
             unreadMessages = dcContext.getFreshMessages().count