diff --git a/LocalPushProvider/LocalPushProvider.swift b/LocalPushProvider/LocalPushProvider.swift index 7fdbf2203..2e70d48d7 100644 --- a/LocalPushProvider/LocalPushProvider.swift +++ b/LocalPushProvider/LocalPushProvider.swift @@ -39,12 +39,21 @@ class LocalPushProvider: NEAppPushProvider { var aggretatorTimer:Timer? = nil var aggregagor:[ChatMessage] = [] + func chatRoomMuted(chatRoom:ChatRoom) -> Bool { + if let chatroomsPushStatus = defaults?.dictionary(forKey: "chatroomsPushStatus"), let from = chatRoom.peerAddress?.asStringUriOnly() { + if ((chatroomsPushStatus[from] as? String) == "disabled") { + return true + } + } + return false + } + func createCore() throws { coreDelegateStub = CoreDelegateStub( onMessageReceived: { (core:Core, chatRoom:ChatRoom, message:ChatMessage) -> Void in if (self.ignoredContentTypes.contains(message.contentType)) { self.log.error(message: "Received unexpected content type.\(message.contentType)") - } else { + } else if (!self.chatRoomMuted(chatRoom: chatRoom)) { self.aggregagor.append(message) } }