浏览代码

fix start chat with contact request (#399)

cyberta 5 年之前
父节点
当前提交
62c8ed240e
共有 2 个文件被更改,包括 16 次插入5 次删除
  1. 1 5
      deltachat-ios/Controller/SettingsController.swift
  2. 15 0
      deltachat-ios/Coordinator/AppCoordinator.swift

+ 1 - 5
deltachat-ios/Controller/SettingsController.swift

@@ -265,11 +265,7 @@ internal final class SettingsViewController: QuickTableViewController {
     }
     }
 
 
     private func showDeaddrop(_: Row) {
     private func showDeaddrop(_: Row) {
-        let deaddropViewController = MailboxViewController(dcContext: dcContext, chatId: Int(DC_CHAT_ID_DEADDROP))
-        let deaddropNavigationController = DcNavigationController(rootViewController: deaddropViewController)
-        let deaddropCoordinator = MailboxCoordinator(dcContext: dcContext, navigationController: deaddropNavigationController)
-        deaddropViewController.coordinator = deaddropCoordinator
-        self.coordinator?.navigationController.pushViewController(deaddropViewController, animated: true)
+        coordinator?.showContactRequests()
     }
     }
 
 
     private func showClassicMail(_: Row) {
     private func showClassicMail(_: Row) {

+ 15 - 0
deltachat-ios/Coordinator/AppCoordinator.swift

@@ -123,6 +123,13 @@ class MailboxCoordinator: ChatViewCoordinator {
     override func showCameraViewController() {
     override func showCameraViewController() {
         // ignore
         // ignore
     }
     }
+
+    override func showChat(chatId: Int) {
+        if let appDelegate = UIApplication.shared.delegate as? AppDelegate {
+            navigationController.popToRootViewController(animated: false)
+            appDelegate.appCoordinator.showChat(chatId: chatId)
+        }
+    }
 }
 }
 
 
 class QrViewCoordinator: Coordinator {
 class QrViewCoordinator: Coordinator {
@@ -202,6 +209,14 @@ class SettingsCoordinator: Coordinator {
         let blockedContactsController = BlockedContactsViewController()
         let blockedContactsController = BlockedContactsViewController()
         navigationController.pushViewController(blockedContactsController, animated: true)
         navigationController.pushViewController(blockedContactsController, animated: true)
     }
     }
+
+    func showContactRequests() {
+        let deaddropViewController = MailboxViewController(dcContext: dcContext, chatId: Int(DC_CHAT_ID_DEADDROP))
+        let deaddropCoordinator = MailboxCoordinator(dcContext: dcContext, navigationController: navigationController)
+        deaddropViewController.coordinator = deaddropCoordinator
+        childCoordinators.append(deaddropCoordinator)
+        navigationController.pushViewController(deaddropViewController, animated: true)
+    }
 }
 }
 
 
 class EditSettingsCoordinator: Coordinator {
 class EditSettingsCoordinator: Coordinator {