瀏覽代碼

add chat_id to dcEphemeralTimerModified event, restrict corresponding event handling in GroupChatDetailViewController to current chat

cyberta 3 年之前
父節點
當前提交
1ee70feb74
共有 2 個文件被更改,包括 9 次插入3 次删除
  1. 3 1
      DcCore/DcCore/DC/events.swift
  2. 6 2
      deltachat-ios/Controller/GroupChatDetailViewController.swift

+ 3 - 1
DcCore/DcCore/DC/events.swift

@@ -146,7 +146,9 @@ public class DcEventHandler {
                 nc.post(
                     name: dcEphemeralTimerModified,
                     object: nil,
-                    userInfo: nil
+                    userInfo: [
+                        "chat_id": Int(data1),
+                    ]
                 )
             }
 

+ 6 - 2
deltachat-ios/Controller/GroupChatDetailViewController.swift

@@ -248,8 +248,12 @@ class GroupChatDetailViewController: UIViewController {
         ephemeralTimerObserver = nc.addObserver(
             forName: dcEphemeralTimerModified,
             object: nil,
-            queue: OperationQueue.main) { [weak self] _ in
-            self?.updateEphemeralTimerCellValue()
+            queue: OperationQueue.main) { [weak self] notification in
+            guard let self = self else { return }
+            if let ui = notification.userInfo,
+               self.chatId == ui["chat_id"] as? Int {
+                self.updateEphemeralTimerCellValue()
+            }
         }
         chatModifiedObserver = nc.addObserver(
             forName: dcNotificationChatModified,