Prechádzať zdrojové kódy

Merge pull request #402 from deltachat/fix_start_chat_to_contact_requests

fix start chat with contact request (#399)
björn petersen 5 rokov pred
rodič
commit
3879f270c4

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

@@ -265,11 +265,7 @@ internal final class SettingsViewController: QuickTableViewController {
     }
 
     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) {

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

@@ -123,6 +123,13 @@ class MailboxCoordinator: ChatViewCoordinator {
     override func showCameraViewController() {
         // 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 {
@@ -202,6 +209,14 @@ class SettingsCoordinator: Coordinator {
         let blockedContactsController = BlockedContactsViewController()
         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 {