nayooti 5 жил өмнө
parent
commit
18330f9106

+ 4 - 0
deltachat-ios/Controller/QrPageController.swift

@@ -45,6 +45,10 @@ class QrPageController: UIPageViewController, ProgressAlertHandler {
         )
     }
 
+    override func viewWillDisappear(_ animated: Bool) {
+        self.configureProgressObserver = nil
+    }
+
     // MARK: - actions
     @objc private func qrSegmentControlChanged(_ sender: UISegmentedControl) {
         if sender.selectedSegmentIndex == 0 {

+ 2 - 12
deltachat-ios/Coordinator/AppCoordinator.swift

@@ -43,7 +43,7 @@ class AppCoordinator: NSObject, Coordinator {
 
     // MARK: viewControllers
 
-    private lazy var qrPageController: UIViewController = {
+    private lazy var qrPageController: UINavigationController = {
         let pageController = QrPageController(dcContext: dcContext)
         let nav = UINavigationController(rootViewController: pageController)
         let coordinator = QrViewCoordinator(navigationController: nav)
@@ -54,15 +54,6 @@ class AppCoordinator: NSObject, Coordinator {
         return nav
     }()
 
-    private lazy var qrController: UIViewController = {
-        let controller = QrViewController(dcContext: dcContext)
-        let nav = UINavigationController(rootViewController: controller)
-        let settingsImage = UIImage(named: "qr_code")
-        nav.tabBarItem = UITabBarItem(title: String.localized("qr_code"), image: settingsImage, tag: qrTab)
-        return nav
-    }()
-
-
     private lazy var chatListController: UIViewController = {
         let viewModel = ChatListViewModel(dcContext: dcContext, isArchive: false)
         let controller = ChatListController(dcContext: dcContext, viewModel: viewModel)
@@ -137,8 +128,7 @@ class AppCoordinator: NSObject, Coordinator {
 
     func handleQRCode(_ code: String) {
         showTab(index: qrTab)
-        if let navController = qrController as? UINavigationController,
-            let topViewController = navController.topViewController,
+        if let topViewController = qrPageController.topViewController,
             let qrPageController = topViewController as? QrPageController {
             qrPageController.handleQrCode(code)
         }