From 6ba5587bd046c59ac7ed7e2c8e8f5b956c3f5a54 Mon Sep 17 00:00:00 2001 From: SBiOSoftWhare Date: Thu, 24 Sep 2020 16:25:10 +0200 Subject: [PATCH] Fix review remarks. --- Riot/Modules/Application/AppCoordinator.swift | 6 +++++- Riot/Modules/Application/AppCoordinatorType.swift | 2 +- Riot/Modules/SplitView/SplitViewCoordinator.swift | 1 + Riot/Routers/RootRouter.swift | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Riot/Modules/Application/AppCoordinator.swift b/Riot/Modules/Application/AppCoordinator.swift index 97a9164c5..534b2c3ab 100755 --- a/Riot/Modules/Application/AppCoordinator.swift +++ b/Riot/Modules/Application/AppCoordinator.swift @@ -17,6 +17,8 @@ import Foundation import Intents +/// The AppCoordinator is responsible of screen navigation and data injection at root application level. It decides if authentication or home screen should be shown and inject data needed for these flows, it changes the navigation stack on deep link, displays global warning. +/// This class should avoid to contain too many data management code not related to screen navigation logic. For example `MXSession` or push notification management should be handled in dedicated classes and report only navigation changes to the AppCoordinator. final class AppCoordinator: NSObject, AppCoordinatorType { // MARK: - Constants @@ -26,7 +28,9 @@ final class AppCoordinator: NSObject, AppCoordinatorType { // MARK: Private private let rootRouter: RootRouterType + // swiftlint:disable weak_delegate private let legacyAppDelegate: LegacyAppDelegate = AppDelegate.theDelegate() + // swiftlint:enable weak_delegate private weak var splitViewCoordinator: SplitViewCoordinatorType? @@ -54,7 +58,7 @@ final class AppCoordinator: NSObject, AppCoordinatorType { // MARK: - Private methods - private func showLogin() { + private func showAuthentication() { // TODO: Implement } diff --git a/Riot/Modules/Application/AppCoordinatorType.swift b/Riot/Modules/Application/AppCoordinatorType.swift index 24474037f..ea1065446 100644 --- a/Riot/Modules/Application/AppCoordinatorType.swift +++ b/Riot/Modules/Application/AppCoordinatorType.swift @@ -16,6 +16,6 @@ import Foundation -/// `AppCoordinatorType` is a protocol describing a Coordinator that handle application navigation flow. +/// `AppCoordinatorType` is a protocol describing a Coordinator that handles application navigation flow. protocol AppCoordinatorType: Coordinator { } diff --git a/Riot/Modules/SplitView/SplitViewCoordinator.swift b/Riot/Modules/SplitView/SplitViewCoordinator.swift index f332c1462..add981227 100644 --- a/Riot/Modules/SplitView/SplitViewCoordinator.swift +++ b/Riot/Modules/SplitView/SplitViewCoordinator.swift @@ -60,6 +60,7 @@ final class SplitViewCoordinator: NSObject, SplitViewCoordinatorType { tabBarCoordinator.delegate = self tabBarCoordinator.splitViewMasterPresentableDelegate = self tabBarCoordinator.start() + let detailNavigationController = self.createDetailNavigationController() self.splitViewController.viewControllers = [tabBarCoordinator.toPresentable(), detailNavigationController] diff --git a/Riot/Routers/RootRouter.swift b/Riot/Routers/RootRouter.swift index 810210777..bcf485a0c 100755 --- a/Riot/Routers/RootRouter.swift +++ b/Riot/Routers/RootRouter.swift @@ -23,7 +23,7 @@ final class RootRouter: RootRouterType { // `rootViewController` animation constants private enum RootViewControllerUpdateAnimation { - static let duration: TimeInterval = 0.5 + static let duration: TimeInterval = 0.3 static let options: UIView.AnimationOptions = .transitionCrossDissolve }