mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-28 23:32:41 +00:00
NavigationStore: Update public method signature.
This commit is contained in:
parent
b2fc0b6337
commit
feef2baa95
11 changed files with 18 additions and 18 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in a new issue