NavigationStore: Update public method signature.

This commit is contained in:
SBiOSoftWhare 2021-10-08 17:15:14 +02:00
parent b2fc0b6337
commit feef2baa95
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)