Bläddra i källkod

support multi-user chats of type DC_CHAT_TYPE_MAILINGLIST

B. Petersen 4 år sedan
förälder
incheckning
1682c463bb
2 ändrade filer med 6 tillägg och 18 borttagningar
  1. 4 15
      DcCore/DcCore/DC/Wrapper.swift
  2. 2 3
      deltachat-ios/Chat/ChatViewController.swift

+ 4 - 15
DcCore/DcCore/DC/Wrapper.swift

@@ -664,14 +664,6 @@ public class DcChat {
         return swiftString
     }
 
-    public var type: Int {
-        return Int(dc_chat_get_type(chatPointer))
-    }
-
-    public var chatType: ChatType {
-        return ChatType(rawValue: type) ?? ChatType.GROUP // group as fallback - shouldn't get here
-    }
-
     public var color: UIColor {
         return UIColor(netHex: Int(dc_chat_get_color(chatPointer)))
     }
@@ -689,7 +681,10 @@ public class DcChat {
     }
 
     public var isGroup: Bool {
-        return Int(dc_chat_get_type(chatPointer)) == DC_CHAT_TYPE_GROUP
+        // isMultiUser() might fit better,
+        // however, would result in lots of code changes, so we leave this as is for now.
+        let type = Int(dc_chat_get_type(chatPointer))
+        return type == DC_CHAT_TYPE_GROUP || type == DC_CHAT_TYPE_MAILINGLIST
     }
 
     public var isSelfTalk: Bool {
@@ -1221,12 +1216,6 @@ public class DcProvider {
     }
 }
 
-public enum ChatType: Int {
-    case SINGLE = 100
-    case GROUP = 120
-    case VERIFIEDGROUP = 130
-}
-
 public enum MessageViewType: CustomStringConvertible {
     case audio
     case file

+ 2 - 3
deltachat-ios/Chat/ChatViewController.swift

@@ -931,13 +931,12 @@ class ChatViewController: UITableViewController {
     // MARK: - coordinator
     private func showChatDetail(chatId: Int) {
         let chat = dcContext.getChat(chatId: chatId)
-        switch chat.chatType {
-        case .SINGLE:
+        if !chat.isGroup {
             if let contactId = chat.contactIds.first {
                 let contactDetailController = ContactDetailViewController(dcContext: dcContext, contactId: contactId)
                 navigationController?.pushViewController(contactDetailController, animated: true)
             }
-        case .GROUP, .VERIFIEDGROUP:
+        } else {
             let groupChatDetailViewController = GroupChatDetailViewController(chatId: chatId, dcContext: dcContext)
             navigationController?.pushViewController(groupChatDetailViewController, animated: true)
         }