Эх сурвалжийг харах

add workaround for missing DC_EVENT_CHAT_MODIFIED (#473), can be reverted as soon as core was updated

cyberta 5 жил өмнө
parent
commit
0f954790a8

+ 23 - 0
deltachat-ios/Controller/NewGroupController.swift

@@ -14,6 +14,8 @@ class NewGroupController: UITableViewController, MediaPickerDelegate {
     let isVerifiedGroup: Bool
     let dcContext: DcContext
     private var contactAddedObserver: NSObjectProtocol?
+    ///TODO: remove the the line below as soon as deltachat-core 4b7b6d6cb3c26d817e3f3eeb6a20d8e8c66a4578 was released
+    private var workaroundObserver: NSObjectProtocol?
 
     private let sectionGroupDetails = 0
     private let sectionGroupDetailsRowAvatar = 0
@@ -81,12 +83,33 @@ class NewGroupController: UITableViewController, MediaPickerDelegate {
                 }
             }
         }
+
+        ///TODO: remove the the lines below as soon as deltachat-core 4b7b6d6cb3c26d817e3f3eeb6a20d8e8c66a4578 was released
+        workaroundObserver = nc.addObserver(
+            forName: dcNotificationChanged,
+            object: nil,
+            queue: nil
+        ) { notification in
+            if let ui = notification.userInfo {
+                if let chatId = ui["chat_id"] as? Int {
+                    if self.groupChatId == 0 || chatId != self.groupChatId {
+                        return
+                    }
+                    self.updateGroupContactIdsOnQRCodeInvite()
+                }
+            }
+        }
     }
 
     override func viewWillDisappear(_ animated: Bool) {
         if let observer = self.contactAddedObserver {
             NotificationCenter.default.removeObserver(observer)
         }
+
+        ///TODO: remove the the lines below as soon as deltachat-core 4b7b6d6cb3c26d817e3f3eeb6a20d8e8c66a4578 was released
+        if let workaroundObserver = self.workaroundObserver {
+            NotificationCenter.default.removeObserver(workaroundObserver)
+        }
     }