浏览代码

moved dc_add_addressBook to wrapper - injected DCContext into DeviceContactHandler

nayooti 5 年之前
父节点
当前提交
059511dd67

+ 1 - 1
deltachat-ios/Controller/NewChatViewController.swift

@@ -48,7 +48,7 @@ class NewChatViewController: UITableViewController {
     var hud: ProgressHud?
     var hud: ProgressHud?
 
 
     lazy var deviceContactHandler: DeviceContactsHandler = {
     lazy var deviceContactHandler: DeviceContactsHandler = {
-        let handler = DeviceContactsHandler()
+        let handler = DeviceContactsHandler(dcContext: DcContext())
         handler.contactListDelegate = self
         handler.contactListDelegate = self
         return handler
         return handler
     }()
     }()

+ 4 - 0
deltachat-ios/DC/Wrapper.swift

@@ -31,6 +31,10 @@ class DcContext {
         return Utils.copyAndFreeArray(inputArray: cContacts)
         return Utils.copyAndFreeArray(inputArray: cContacts)
     }
     }
 
 
+    func addContacts(contactString: String) {
+        dc_add_address_book(mailboxPointer, contactString)
+    }
+
     func getChatlist(flags: Int32, queryString: String?, queryId: Int) -> DcChatlist {
     func getChatlist(flags: Int32, queryString: String?, queryId: Int) -> DcChatlist {
         let chatlistPointer = dc_get_chatlist(contextPointer, flags, queryString, UInt32(queryId))
         let chatlistPointer = dc_get_chatlist(contextPointer, flags, queryString, UInt32(queryId))
         let chatlist = DcChatlist(chatListPointer: chatlistPointer)
         let chatlist = DcChatlist(chatListPointer: chatlistPointer)

+ 6 - 1
deltachat-ios/Handler/DeviceContactsHandler.swift

@@ -4,6 +4,11 @@ import UIKit
 class DeviceContactsHandler {
 class DeviceContactsHandler {
     private let store = CNContactStore()
     private let store = CNContactStore()
     weak var contactListDelegate: ContactListDelegate?
     weak var contactListDelegate: ContactListDelegate?
+    let dcContext: DcContext
+
+    init(dcContext: DcContext) {
+        self.dcContext = dcContext
+    }
 
 
     private func makeContactString(contacts: [CNContact]) -> String {
     private func makeContactString(contacts: [CNContact]) -> String {
         var contactString: String = ""
         var contactString: String = ""
@@ -21,7 +26,7 @@ class DeviceContactsHandler {
         fetchContactsWithEmailFromDevice() { contacts in
         fetchContactsWithEmailFromDevice() { contacts in
             DispatchQueue.main.async {
             DispatchQueue.main.async {
                 let contactString = self.makeContactString(contacts: contacts)
                 let contactString = self.makeContactString(contacts: contacts)
-                dc_add_address_book(mailboxPointer, contactString)
+                self.dcContext.addContacts(contactString: contactString)
                 self.contactListDelegate?.deviceContactsImported()
                 self.contactListDelegate?.deviceContactsImported()
             }
             }
         }
         }