From cc177a6c3ec2f58c6d58085b8c96fb869ec1df91 Mon Sep 17 00:00:00 2001 From: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com> Date: Sat, 25 Nov 2023 22:30:05 -0500 Subject: [PATCH] Revert "Avoid showing the initial loading view after welcome form" This reverts commit 6fe6d36d9226759ad54485e72eaf7426bdb67bb7. Change-Id: Ifdec6eb5b1a2d4f2e5e5a9e96a4ee95ec848c6ec --- Ring/Ring/Coordinators/AppCoordinator.swift | 16 ++++++++-------- .../Walkthrough/WalkthroughCoordinator.swift | 8 ++------ 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/Ring/Ring/Coordinators/AppCoordinator.swift b/Ring/Ring/Coordinators/AppCoordinator.swift index fa122d1ab..98184ae3c 100644 --- a/Ring/Ring/Coordinators/AppCoordinator.swift +++ b/Ring/Ring/Coordinators/AppCoordinator.swift @@ -102,12 +102,6 @@ final class AppCoordinator: Coordinator, StateableResponsive { self.dispatchApplication() } - /// Starts the coordinator - func startWithoutLoading() { - // ~ Dispatch to the proper screen - self.dispatchApplication() - } - func migrateAccount(accountId: String) { let migratonController = MigrateAccountViewController.instantiate(with: self.injectionBag) migratonController.viewModel.accountToMigrate = accountId @@ -145,16 +139,22 @@ final class AppCoordinator: Coordinator, StateableResponsive { let walkthroughCoordinator = WalkthroughCoordinator(with: self.injectionBag) walkthroughCoordinator.isAccountFirst = isAccountFirst walkthroughCoordinator.withAnimations = animated - walkthroughCoordinator.parentCoordinator = self walkthroughCoordinator.start() - self.navigationController.setViewControllers([], animated: false) self.addChildCoordinator(childCoordinator: walkthroughCoordinator) let walkthroughViewController = walkthroughCoordinator.rootViewController self.present(viewController: walkthroughViewController, withStyle: .appear, withAnimation: true, disposeBag: self.disposeBag) + + walkthroughViewController.rx.controllerWasDismissed + .subscribe(onNext: { [weak self, weak walkthroughCoordinator] (_) in + walkthroughCoordinator?.stateSubject.dispose() + self?.removeChildCoordinator(childCoordinator: walkthroughCoordinator) + self?.dispatchApplication() + }) + .disposed(by: self.disposeBag) } /// Presents the main interface diff --git a/Ring/Ring/Features/Walkthrough/WalkthroughCoordinator.swift b/Ring/Ring/Features/Walkthrough/WalkthroughCoordinator.swift index 697094367..c03f3107b 100644 --- a/Ring/Ring/Features/Walkthrough/WalkthroughCoordinator.swift +++ b/Ring/Ring/Features/Walkthrough/WalkthroughCoordinator.swift @@ -75,12 +75,8 @@ class WalkthroughCoordinator: Coordinator, StateableResponsive { self.showAddAccount(with: walkthroughType) case .accountCreated, .deviceLinked: if self.rootViewController.presentedViewController != nil { - if let appCoordinator = self.parentCoordinator as? AppCoordinator { - appCoordinator.startWithoutLoading() - appCoordinator.removeChildCoordinator(childCoordinator: self) - self.rootViewController.presentedViewController?.dismiss(animated: true) { - self.rootViewController.dismiss(animated: false) - } + self.rootViewController.dismiss(animated: true) { [weak self] in // dismiss the pop up form modal view + self?.rootViewController.dismiss(animated: true) // dismiss the welcome view and check for user account state } } case .walkthroughCanceled: -- GitLab