Feature/5308 sso on internal browser

This commit is contained in:
Frank Rotermund
2023-12-08 11:42:02 +00:00
parent bdb8a7a92f
commit 02bb97687d
19 changed files with 122 additions and 26 deletions
@@ -19,6 +19,13 @@
import UIKit
struct SetPinCoordinatorParameters {
let navigationRouter: NavigationRouterType?
let session: MXSession?
let viewMode: SetPinCoordinatorViewMode
let pinCodePreferences: PinCodePreferences
}
@objcMembers
final class SetPinCoordinator: SetPinCoordinatorType {
@@ -44,11 +51,16 @@ final class SetPinCoordinator: SetPinCoordinatorType {
// MARK: - Setup
init(session: MXSession?, viewMode: SetPinCoordinatorViewMode, pinCodePreferences: PinCodePreferences) {
self.navigationRouter = NavigationRouter(navigationController: RiotNavigationController())
self.session = session
self.viewMode = viewMode
self.pinCodePreferences = pinCodePreferences
init(parameters: SetPinCoordinatorParameters) {
if let navigationRouter = parameters.navigationRouter {
self.navigationRouter = navigationRouter
} else {
self.navigationRouter = NavigationRouter(navigationController: RiotNavigationController())
}
self.session = parameters.session
self.viewMode = parameters.viewMode
self.pinCodePreferences = parameters.pinCodePreferences
}
private func getRootCoordinator() -> Coordinator & Presentable {
@@ -82,7 +82,14 @@ final class SetPinCoordinatorBridgePresenter: NSObject {
// }
func present(from viewController: UIViewController, animated: Bool) {
let setPinCoordinator = SetPinCoordinator(session: self.session, viewMode: self.viewMode, pinCodePreferences: .shared)
let setPinCodeParameters = SetPinCoordinatorParameters(
navigationRouter: nil,
session: self.session,
viewMode: self.viewMode,
pinCodePreferences: .shared)
let setPinCoordinator = SetPinCoordinator(parameters: setPinCodeParameters)
setPinCoordinator.delegate = self
viewController.present(setPinCoordinator.toPresentable(), animated: animated, completion: nil)
setPinCoordinator.start()
@@ -97,7 +104,13 @@ final class SetPinCoordinatorBridgePresenter: NSObject {
let pinCoordinatorWindow = UIWindow(frame: window.bounds)
let setPinCoordinator = SetPinCoordinator(session: self.session, viewMode: self.viewMode, pinCodePreferences: .shared)
let setPinCodeParameters = SetPinCoordinatorParameters(
navigationRouter: nil,
session: self.session,
viewMode: self.viewMode,
pinCodePreferences: .shared)
let setPinCoordinator = SetPinCoordinator(parameters: setPinCodeParameters)
setPinCoordinator.delegate = self
pinCoordinatorWindow.rootViewController = setPinCoordinator.toPresentable()