         fallbackToOriginalContent()
     }
     
-    func setup() {
+    func setup(withRoomId roomId: String, completion: @escaping () -> Void) {
         let sdkOptions = MXSDKOptions.sharedInstance()
         sdkOptions.applicationGroupIdentifier = "group.im.vector"
         sdkOptions.disableIdenticonUseForUserAvatar = true

                    } else if msgType == kMXMessageTypeImage {
                        notificationBody = NSString.localizedUserNotificationString(forKey: "IMAGE_FROM_USER", arguments: [eventSenderName as Any, messageContent as Any])
                    } else if room.isDirect && isIncomingEvent && msgType == kMXMessageTypeKeyVerificationRequest {
                        account.mxSession.crypto.keyVerificationManager.keyVerification(fromKeyVerificationEvent: event,
                                                                                        success:{ (keyVerification) in
                            guard let request = keyVerification.request, request.state == MXKeyVerificationRequestStatePending else {
                                onComplete(nil)
                                return

        
        let userInfo = content.userInfo
        NSLog("[NotificationService] Payload came: \(userInfo)")

        guard let roomId = userInfo["room_id"] as? String, let _ = userInfo["event_id"] as? String else {
            //  it's not a Matrix notification, do not change the content
            NSLog("[NotificationService] didReceiveRequest: This is not a Matrix notification.")
            contentHandler(content)
