From 3bd774211e3f9f83b7c47eabafb7201bb424e81f Mon Sep 17 00:00:00 2001 From: SBiOSoftWhare Date: Fri, 8 Oct 2021 17:15:14 +0200 Subject: [PATCH] NavigationStore: Update public method signature. --- ...KeyBackupRecoverCoordinatorBridgePresenter.swift | 2 +- .../KeyVerificationCoordinatorBridgePresenter.swift | 2 +- Riot/Modules/Room/RoomCoordinator.swift | 2 +- .../Room/RoomCoordinatorBridgePresenter.swift | 2 +- .../RoomInfoCoordinatorBridgePresenter.swift | 2 +- ...yThreePidDetailsCoordinatorBridgePresenter.swift | 2 +- ...gsIdentityServerCoordinatorBridgePresenter.swift | 2 +- Riot/Routers/NavigationRouterStore.swift | 13 ++++++------- Riot/Routers/NavigationRouterStoreProtocol.swift | 5 +++-- .../NotificationSettingsBridgePresenter.swift | 2 +- .../FlowTemplateCoordinatorBridgePresenter.swift | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Riot/Modules/KeyBackup/Recover/KeyBackupRecoverCoordinatorBridgePresenter.swift b/Riot/Modules/KeyBackup/Recover/KeyBackupRecoverCoordinatorBridgePresenter.swift index 3bc7d2c6f..a06e9befd 100644 --- a/Riot/Modules/KeyBackup/Recover/KeyBackupRecoverCoordinatorBridgePresenter.swift +++ b/Riot/Modules/KeyBackup/Recover/KeyBackupRecoverCoordinatorBridgePresenter.swift @@ -61,7 +61,7 @@ final class KeyBackupRecoverCoordinatorBridgePresenter: NSObject { MXLog.debug("[KeyBackupRecoverCoordinatorBridgePresenter] Push complete security from \(navigationController)") - let navigationRouter = NavigationRouterStore.shared.getOrCreateNavigationRouter(for: navigationController) + let navigationRouter = NavigationRouterStore.shared.navigationRouter(for: navigationController) let keyBackupSetupCoordinator = KeyBackupRecoverCoordinator(session: self.session, keyBackupVersion: keyBackupVersion, navigationRouter: navigationRouter) keyBackupSetupCoordinator.delegate = self diff --git a/Riot/Modules/KeyVerification/Common/KeyVerificationCoordinatorBridgePresenter.swift b/Riot/Modules/KeyVerification/Common/KeyVerificationCoordinatorBridgePresenter.swift index 8fb3fb0c8..5d8ead04c 100644 --- a/Riot/Modules/KeyVerification/Common/KeyVerificationCoordinatorBridgePresenter.swift +++ b/Riot/Modules/KeyVerification/Common/KeyVerificationCoordinatorBridgePresenter.swift @@ -101,7 +101,7 @@ final class KeyVerificationCoordinatorBridgePresenter: NSObject { MXLog.debug("[KeyVerificationCoordinatorBridgePresenter] Push complete security from \(navigationController)") - let navigationRouter = NavigationRouterStore.shared.getOrCreateNavigationRouter(for: navigationController) + let navigationRouter = NavigationRouterStore.shared.navigationRouter(for: navigationController) let keyVerificationCoordinator = KeyVerificationCoordinator(session: self.session, flow: .completeSecurity(isNewSignIn), navigationRouter: navigationRouter) keyVerificationCoordinator.delegate = self diff --git a/Riot/Modules/Room/RoomCoordinator.swift b/Riot/Modules/Room/RoomCoordinator.swift index 73720546c..ce8f41ef7 100644 --- a/Riot/Modules/Room/RoomCoordinator.swift +++ b/Riot/Modules/Room/RoomCoordinator.swift @@ -47,7 +47,7 @@ final class RoomCoordinator: NSObject, RoomCoordinatorProtocol { finalNavigationRouter = navigationRouter } else if let navigationRouterStore = self.parameters.navigationRouterStore, let currentNavigationController = self.roomViewController.navigationController { // If no navigationRouter has been provided, try to get the navigation router from the current RoomViewController navigation controller if exists - finalNavigationRouter = navigationRouterStore.getOrCreateNavigationRouter(for: currentNavigationController) + finalNavigationRouter = navigationRouterStore.navigationRouter(for: currentNavigationController) } return finalNavigationRouter diff --git a/Riot/Modules/Room/RoomCoordinatorBridgePresenter.swift b/Riot/Modules/Room/RoomCoordinatorBridgePresenter.swift index 5f108d755..d6ec2aa4e 100644 --- a/Riot/Modules/Room/RoomCoordinatorBridgePresenter.swift +++ b/Riot/Modules/Room/RoomCoordinatorBridgePresenter.swift @@ -88,7 +88,7 @@ final class RoomCoordinatorBridgePresenter: NSObject { func push(from navigationController: UINavigationController, animated: Bool) { - let navigationRouter = NavigationRouterStore.shared.getOrCreateNavigationRouter(for: navigationController) + let navigationRouter = NavigationRouterStore.shared.navigationRouter(for: navigationController) let coordinator = self.createRoomCoordinator(with: navigationRouter) coordinator.delegate = self diff --git a/Riot/Modules/Room/RoomInfo/RoomInfoCoordinatorBridgePresenter.swift b/Riot/Modules/Room/RoomInfo/RoomInfoCoordinatorBridgePresenter.swift index 6fd6721c7..ae71c988b 100644 --- a/Riot/Modules/Room/RoomInfo/RoomInfoCoordinatorBridgePresenter.swift +++ b/Riot/Modules/Room/RoomInfo/RoomInfoCoordinatorBridgePresenter.swift @@ -73,7 +73,7 @@ final class RoomInfoCoordinatorBridgePresenter: NSObject { } func push(from navigationController: UINavigationController, animated: Bool) { - let navigationRouter = NavigationRouterStore.shared.getOrCreateNavigationRouter(for: navigationController) + let navigationRouter = NavigationRouterStore.shared.navigationRouter(for: navigationController) let roomInfoCoordinator = RoomInfoCoordinator(parameters: self.coordinatorParameters, navigationRouter: navigationRouter) roomInfoCoordinator.delegate = self diff --git a/Riot/Modules/Settings/Discovery/ThreePidDetails/SettingsDiscoveryThreePidDetailsCoordinatorBridgePresenter.swift b/Riot/Modules/Settings/Discovery/ThreePidDetails/SettingsDiscoveryThreePidDetailsCoordinatorBridgePresenter.swift index 0f4a07774..7dfbd0aad 100644 --- a/Riot/Modules/Settings/Discovery/ThreePidDetails/SettingsDiscoveryThreePidDetailsCoordinatorBridgePresenter.swift +++ b/Riot/Modules/Settings/Discovery/ThreePidDetails/SettingsDiscoveryThreePidDetailsCoordinatorBridgePresenter.swift @@ -45,7 +45,7 @@ final class SettingsDiscoveryThreePidDetailsCoordinatorBridgePresenter: NSObject func push(from navigationController: UINavigationController, animated: Bool, popCompletion: (() -> Void)?) { - let router = NavigationRouterStore.shared.getOrCreateNavigationRouter(for: navigationController) + let router = NavigationRouterStore.shared.navigationRouter(for: navigationController) let settingsDiscoveryThreePidDetailsCoordinator = SettingsDiscoveryThreePidDetailsCoordinator(session: self.session, threePid: self.threePid) diff --git a/Riot/Modules/Settings/IdentityServer/SettingsIdentityServerCoordinatorBridgePresenter.swift b/Riot/Modules/Settings/IdentityServer/SettingsIdentityServerCoordinatorBridgePresenter.swift index 24df77a97..c25e81b78 100644 --- a/Riot/Modules/Settings/IdentityServer/SettingsIdentityServerCoordinatorBridgePresenter.swift +++ b/Riot/Modules/Settings/IdentityServer/SettingsIdentityServerCoordinatorBridgePresenter.swift @@ -50,7 +50,7 @@ final class SettingsIdentityServerCoordinatorBridgePresenter: NSObject { func push(from navigationController: UINavigationController, animated: Bool, popCompletion: (() -> Void)?) { - let router = NavigationRouterStore.shared.getOrCreateNavigationRouter(for: navigationController) + let router = NavigationRouterStore.shared.navigationRouter(for: navigationController) let settingsIdentityServerCoordinator = SettingsIdentityServerCoordinator(session: self.session) diff --git a/Riot/Routers/NavigationRouterStore.swift b/Riot/Routers/NavigationRouterStore.swift index c1b4e96c4..072798f55 100644 --- a/Riot/Routers/NavigationRouterStore.swift +++ b/Riot/Routers/NavigationRouterStore.swift @@ -39,10 +39,9 @@ class NavigationRouterStore: NavigationRouterStoreProtocol { // MARK: - Public - /// Gets the existing navigation router for the supplied controller, creating a new one if it doesn't yet exist. func navigationRouter(for navigationController: UINavigationController) -> NavigationRouterType { - if let existingNavigationRouter = self.getNavigationRouter(for: navigationController) { + if let existingNavigationRouter = self.findNavigationRouter(for: navigationController) { return existingNavigationRouter } @@ -50,12 +49,12 @@ class NavigationRouterStore: NavigationRouterStoreProtocol { return navigationRouter } - func getNavigationRouter(for navigationController: UINavigationController) -> NavigationRouterType? { + // MARK: - Private + + private func findNavigationRouter(for navigationController: UINavigationController) -> NavigationRouterType? { return self.navigationRouters[navigationController] } - // MARK: - Private - private func removeNavigationRouter(for navigationController: UINavigationController) { self.navigationRouters[navigationController] = nil } @@ -73,7 +72,7 @@ class NavigationRouterStore: NavigationRouterStoreProtocol { return } - if let existingNavigationRouter = self.getNavigationRouter(for: navigationController) { + if let existingNavigationRouter = self.findNavigationRouter(for: navigationController) { fatalError("\(existingNavigationRouter) is already tied to the same navigation controller as \(navigationRouter). We should have only one NavigationRouter per navigation controller") } else { // FIXME: WeakDictionary does not work with protocol @@ -89,7 +88,7 @@ class NavigationRouterStore: NavigationRouterStoreProtocol { return } - if let existingNavigationRouter = self.getNavigationRouter(for: navigationController), existingNavigationRouter !== navigationRouter { + if let existingNavigationRouter = self.findNavigationRouter(for: navigationController), existingNavigationRouter !== navigationRouter { fatalError("\(existingNavigationRouter) is already tied to the same navigation controller as \(navigationRouter). We should have only one NavigationRouter per navigation controller") } diff --git a/Riot/Routers/NavigationRouterStoreProtocol.swift b/Riot/Routers/NavigationRouterStoreProtocol.swift index 0c38bb755..570236232 100644 --- a/Riot/Routers/NavigationRouterStoreProtocol.swift +++ b/Riot/Routers/NavigationRouterStoreProtocol.swift @@ -18,6 +18,7 @@ import Foundation /// `NavigationRouterStoreProtocol` describes a structure that enables to get a NavigationRouter from a UINavigationController instance. protocol NavigationRouterStoreProtocol { - func getOrCreateNavigationRouter(for navigationController: UINavigationController) -> NavigationRouterType - func getNavigationRouter(for navigationController: UINavigationController) -> NavigationRouterType? + + /// Gets the existing navigation router for the supplied controller, creating a new one if it doesn't yet exist. + func navigationRouter(for navigationController: UINavigationController) -> NavigationRouterType } diff --git a/RiotSwiftUI/Modules/Settings/Notifications/Coordinator/NotificationSettingsBridgePresenter.swift b/RiotSwiftUI/Modules/Settings/Notifications/Coordinator/NotificationSettingsBridgePresenter.swift index 6d6c34db5..76d83ebcb 100644 --- a/RiotSwiftUI/Modules/Settings/Notifications/Coordinator/NotificationSettingsBridgePresenter.swift +++ b/RiotSwiftUI/Modules/Settings/Notifications/Coordinator/NotificationSettingsBridgePresenter.swift @@ -51,7 +51,7 @@ final class NotificationSettingsCoordinatorBridgePresenter: NSObject { func push(from navigationController: UINavigationController, animated: Bool, screen: NotificationSettingsScreen, popCompletion: (() -> Void)?) { - let router = NavigationRouterStore.shared.getOrCreateNavigationRouter(for: navigationController) + let router = NavigationRouterStore.shared.navigationRouter(for: navigationController) let notificationSettingsCoordinator = NotificationSettingsCoordinator(session: session, screen: screen) diff --git a/Tools/Templates/buildable/FlowCoordinatorTemplate/FlowTemplateCoordinatorBridgePresenter.swift b/Tools/Templates/buildable/FlowCoordinatorTemplate/FlowTemplateCoordinatorBridgePresenter.swift index cead36efc..5d2e199fd 100644 --- a/Tools/Templates/buildable/FlowCoordinatorTemplate/FlowTemplateCoordinatorBridgePresenter.swift +++ b/Tools/Templates/buildable/FlowCoordinatorTemplate/FlowTemplateCoordinatorBridgePresenter.swift @@ -76,7 +76,7 @@ final class FlowTemplateCoordinatorBridgePresenter: NSObject { func push(from navigationController: UINavigationController, animated: Bool) { - let navigationRouter = NavigationRouterStore.shared.getOrCreateNavigationRouter(for: navigationController) + let navigationRouter = NavigationRouterStore.shared.navigationRouter(for: navigationController) let flowTemplateCoordinatorParameters = FlowTemplateCoordinatorParameters(session: self.session, navigationRouter: navigationRouter)