NavigationStore: Update public method signature.

This commit is contained in:
SBiOSoftWhare
2021-10-08 17:15:14 +02:00
parent f811302c3e
commit 3bd774211e
11 changed files with 18 additions and 18 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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")
}

View File

@@ -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
}

View File

@@ -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)

View File

@@ -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)