mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 19:11:45 +00:00
Remove all uses of the ServiceLocator from within Coordinators and View Models.
It is still used for mocks in tests, previews etc, and still used in the AppCoordinator.
This commit is contained in:
@@ -612,6 +612,7 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationFlowCoordinatorDeleg
|
|||||||
let parameters = SoftLogoutScreenCoordinatorParameters(authenticationService: authenticationService,
|
let parameters = SoftLogoutScreenCoordinatorParameters(authenticationService: authenticationService,
|
||||||
credentials: credentials,
|
credentials: credentials,
|
||||||
keyBackupNeeded: false,
|
keyBackupNeeded: false,
|
||||||
|
appSettings: appSettings,
|
||||||
userIndicatorController: ServiceLocator.shared.userIndicatorController)
|
userIndicatorController: ServiceLocator.shared.userIndicatorController)
|
||||||
let coordinator = SoftLogoutScreenCoordinator(parameters: parameters)
|
let coordinator = SoftLogoutScreenCoordinator(parameters: parameters)
|
||||||
self.softLogoutCoordinator = coordinator
|
self.softLogoutCoordinator = coordinator
|
||||||
@@ -769,7 +770,9 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationFlowCoordinatorDeleg
|
|||||||
let callScreenCoordinator = CallScreenCoordinator(parameters: .init(elementCallService: elementCallService,
|
let callScreenCoordinator = CallScreenCoordinator(parameters: .init(elementCallService: elementCallService,
|
||||||
configuration: configuration,
|
configuration: configuration,
|
||||||
allowPictureInPicture: false,
|
allowPictureInPicture: false,
|
||||||
appHooks: appHooks))
|
appSettings: appSettings,
|
||||||
|
appHooks: appHooks,
|
||||||
|
analytics: ServiceLocator.shared.analytics))
|
||||||
|
|
||||||
callScreenCoordinator.actions
|
callScreenCoordinator.actions
|
||||||
.sink { [weak self] action in
|
.sink { [weak self] action in
|
||||||
|
|||||||
@@ -518,7 +518,8 @@ class ChatsFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
navigationStackCoordinator: startChatNavigationStackCoordinator,
|
navigationStackCoordinator: startChatNavigationStackCoordinator,
|
||||||
userDiscoveryService: userDiscoveryService,
|
userDiscoveryService: userDiscoveryService,
|
||||||
mediaUploadingPreprocessor: MediaUploadingPreprocessor(appSettings: flowParameters.appSettings),
|
mediaUploadingPreprocessor: MediaUploadingPreprocessor(appSettings: flowParameters.appSettings),
|
||||||
appSettings: flowParameters.appSettings)
|
appSettings: flowParameters.appSettings,
|
||||||
|
analytics: flowParameters.analytics)
|
||||||
|
|
||||||
let coordinator = StartChatScreenCoordinator(parameters: parameters)
|
let coordinator = StartChatScreenCoordinator(parameters: parameters)
|
||||||
coordinator.actions.sink { [weak self] action in
|
coordinator.actions.sink { [weak self] action in
|
||||||
@@ -578,7 +579,9 @@ class ChatsFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
let callScreenCoordinator = CallScreenCoordinator(parameters: .init(elementCallService: flowParameters.elementCallService,
|
let callScreenCoordinator = CallScreenCoordinator(parameters: .init(elementCallService: flowParameters.elementCallService,
|
||||||
configuration: configuration,
|
configuration: configuration,
|
||||||
allowPictureInPicture: true,
|
allowPictureInPicture: true,
|
||||||
appHooks: flowParameters.appHooks))
|
appSettings: flowParameters.appSettings,
|
||||||
|
appHooks: flowParameters.appHooks,
|
||||||
|
analytics: flowParameters.analytics))
|
||||||
|
|
||||||
callScreenCoordinator.actions
|
callScreenCoordinator.actions
|
||||||
.sink { [weak self] action in
|
.sink { [weak self] action in
|
||||||
@@ -652,6 +655,7 @@ class ChatsFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
private func startEncryptionResetFlow(animated: Bool) {
|
private func startEncryptionResetFlow(animated: Bool) {
|
||||||
let sheetNavigationStackCoordinator = NavigationStackCoordinator()
|
let sheetNavigationStackCoordinator = NavigationStackCoordinator()
|
||||||
let parameters = EncryptionResetFlowCoordinatorParameters(userSession: userSession,
|
let parameters = EncryptionResetFlowCoordinatorParameters(userSession: userSession,
|
||||||
|
appSettings: flowParameters.appSettings,
|
||||||
userIndicatorController: flowParameters.userIndicatorController,
|
userIndicatorController: flowParameters.userIndicatorController,
|
||||||
navigationStackCoordinator: sheetNavigationStackCoordinator,
|
navigationStackCoordinator: sheetNavigationStackCoordinator,
|
||||||
windowManger: flowParameters.windowManager)
|
windowManger: flowParameters.windowManager)
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ enum EncryptionResetFlowCoordinatorAction: Equatable {
|
|||||||
|
|
||||||
struct EncryptionResetFlowCoordinatorParameters {
|
struct EncryptionResetFlowCoordinatorParameters {
|
||||||
let userSession: UserSessionProtocol
|
let userSession: UserSessionProtocol
|
||||||
|
let appSettings: AppSettings
|
||||||
let userIndicatorController: UserIndicatorControllerProtocol
|
let userIndicatorController: UserIndicatorControllerProtocol
|
||||||
let navigationStackCoordinator: NavigationStackCoordinator
|
let navigationStackCoordinator: NavigationStackCoordinator
|
||||||
let windowManger: WindowManagerProtocol
|
let windowManger: WindowManagerProtocol
|
||||||
@@ -25,6 +26,7 @@ struct EncryptionResetFlowCoordinatorParameters {
|
|||||||
|
|
||||||
class EncryptionResetFlowCoordinator: FlowCoordinatorProtocol {
|
class EncryptionResetFlowCoordinator: FlowCoordinatorProtocol {
|
||||||
private let userSession: UserSessionProtocol
|
private let userSession: UserSessionProtocol
|
||||||
|
private let appSettings: AppSettings
|
||||||
private let userIndicatorController: UserIndicatorControllerProtocol
|
private let userIndicatorController: UserIndicatorControllerProtocol
|
||||||
|
|
||||||
private let navigationStackCoordinator: NavigationStackCoordinator
|
private let navigationStackCoordinator: NavigationStackCoordinator
|
||||||
@@ -59,6 +61,7 @@ class EncryptionResetFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
|
|
||||||
init(parameters: EncryptionResetFlowCoordinatorParameters) {
|
init(parameters: EncryptionResetFlowCoordinatorParameters) {
|
||||||
userSession = parameters.userSession
|
userSession = parameters.userSession
|
||||||
|
appSettings = parameters.appSettings
|
||||||
userIndicatorController = parameters.userIndicatorController
|
userIndicatorController = parameters.userIndicatorController
|
||||||
navigationStackCoordinator = parameters.navigationStackCoordinator
|
navigationStackCoordinator = parameters.navigationStackCoordinator
|
||||||
windowManager = parameters.windowManger
|
windowManager = parameters.windowManger
|
||||||
@@ -152,7 +155,9 @@ class EncryptionResetFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
private func presentOIDCAuthorization(for url: URL) {
|
private func presentOIDCAuthorization(for url: URL) {
|
||||||
// Note to anyone in the future if you come back here to make this open in Safari instead of a WAS.
|
// Note to anyone in the future if you come back here to make this open in Safari instead of a WAS.
|
||||||
// As of iOS 16, there is an issue on the simulator with accessing the cookie but it works on a device. 🤷♂️
|
// As of iOS 16, there is an issue on the simulator with accessing the cookie but it works on a device. 🤷♂️
|
||||||
accountSettingsPresenter = OIDCAccountSettingsPresenter(accountURL: url, presentationAnchor: windowManager.mainWindow)
|
accountSettingsPresenter = OIDCAccountSettingsPresenter(accountURL: url,
|
||||||
|
presentationAnchor: windowManager.mainWindow,
|
||||||
|
appSettings: appSettings)
|
||||||
accountSettingsPresenter?.start()
|
accountSettingsPresenter?.start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,6 +81,8 @@ class MediaEventsTimelineFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
mediaPlayerProvider: MediaPlayerProvider(),
|
mediaPlayerProvider: MediaPlayerProvider(),
|
||||||
voiceMessageMediaManager: userSession.voiceMessageMediaManager,
|
voiceMessageMediaManager: userSession.voiceMessageMediaManager,
|
||||||
appMediator: flowParameters.appMediator,
|
appMediator: flowParameters.appMediator,
|
||||||
|
appSettings: flowParameters.appSettings,
|
||||||
|
analytics: flowParameters.analytics,
|
||||||
emojiProvider: flowParameters.emojiProvider,
|
emojiProvider: flowParameters.emojiProvider,
|
||||||
userIndicatorController: flowParameters.userIndicatorController,
|
userIndicatorController: flowParameters.userIndicatorController,
|
||||||
timelineControllerFactory: flowParameters.timelineControllerFactory,
|
timelineControllerFactory: flowParameters.timelineControllerFactory,
|
||||||
|
|||||||
@@ -313,6 +313,7 @@ class OnboardingFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
private func startEncryptionResetFlow() {
|
private func startEncryptionResetFlow() {
|
||||||
let resetNavigationStackCoordinator = NavigationStackCoordinator()
|
let resetNavigationStackCoordinator = NavigationStackCoordinator()
|
||||||
let coordinator = EncryptionResetFlowCoordinator(parameters: .init(userSession: userSession,
|
let coordinator = EncryptionResetFlowCoordinator(parameters: .init(userSession: userSession,
|
||||||
|
appSettings: appSettings,
|
||||||
userIndicatorController: userIndicatorController,
|
userIndicatorController: userIndicatorController,
|
||||||
navigationStackCoordinator: resetNavigationStackCoordinator,
|
navigationStackCoordinator: resetNavigationStackCoordinator,
|
||||||
windowManger: windowManager))
|
windowManger: windowManager))
|
||||||
|
|||||||
@@ -67,9 +67,12 @@ class PinnedEventsTimelineFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
mediaPlayerProvider: MediaPlayerProvider(),
|
mediaPlayerProvider: MediaPlayerProvider(),
|
||||||
voiceMessageMediaManager: userSession.voiceMessageMediaManager,
|
voiceMessageMediaManager: userSession.voiceMessageMediaManager,
|
||||||
appMediator: flowParameters.appMediator,
|
appMediator: flowParameters.appMediator,
|
||||||
|
appSettings: flowParameters.appSettings,
|
||||||
|
analytics: flowParameters.analytics,
|
||||||
emojiProvider: flowParameters.emojiProvider,
|
emojiProvider: flowParameters.emojiProvider,
|
||||||
timelineControllerFactory: flowParameters.timelineControllerFactory,
|
timelineControllerFactory: flowParameters.timelineControllerFactory,
|
||||||
clientProxy: userSession.clientProxy))
|
clientProxy: userSession.clientProxy,
|
||||||
|
userIndicatorController: flowParameters.userIndicatorController))
|
||||||
|
|
||||||
coordinator.actions
|
coordinator.actions
|
||||||
.sink { [weak self] action in
|
.sink { [weak self] action in
|
||||||
|
|||||||
@@ -558,8 +558,10 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
appMediator: flowParameters.appMediator,
|
appMediator: flowParameters.appMediator,
|
||||||
appSettings: flowParameters.appSettings,
|
appSettings: flowParameters.appSettings,
|
||||||
appHooks: flowParameters.appHooks,
|
appHooks: flowParameters.appHooks,
|
||||||
|
analytics: flowParameters.analytics,
|
||||||
composerDraftService: composerDraftService,
|
composerDraftService: composerDraftService,
|
||||||
timelineControllerFactory: flowParameters.timelineControllerFactory)
|
timelineControllerFactory: flowParameters.timelineControllerFactory,
|
||||||
|
userIndicatorController: flowParameters.userIndicatorController)
|
||||||
|
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
coordinator.actions
|
coordinator.actions
|
||||||
@@ -652,8 +654,10 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
completionSuggestionService: completionSuggestionService,
|
completionSuggestionService: completionSuggestionService,
|
||||||
appMediator: flowParameters.appMediator,
|
appMediator: flowParameters.appMediator,
|
||||||
appSettings: flowParameters.appSettings,
|
appSettings: flowParameters.appSettings,
|
||||||
|
analytics: flowParameters.analytics,
|
||||||
composerDraftService: composerDraftService,
|
composerDraftService: composerDraftService,
|
||||||
timelineControllerFactory: flowParameters.timelineControllerFactory))
|
timelineControllerFactory: flowParameters.timelineControllerFactory,
|
||||||
|
userIndicatorController: flowParameters.userIndicatorController))
|
||||||
|
|
||||||
coordinator.actions.sink { [weak self] action in
|
coordinator.actions.sink { [weak self] action in
|
||||||
guard let self else { return }
|
guard let self else { return }
|
||||||
@@ -779,7 +783,8 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
userIndicatorController: flowParameters.userIndicatorController,
|
userIndicatorController: flowParameters.userIndicatorController,
|
||||||
notificationSettings: userSession.clientProxy.notificationSettings,
|
notificationSettings: userSession.clientProxy.notificationSettings,
|
||||||
attributedStringBuilder: AttributedStringBuilder(mentionBuilder: MentionBuilder()),
|
attributedStringBuilder: AttributedStringBuilder(mentionBuilder: MentionBuilder()),
|
||||||
appMediator: flowParameters.appMediator)
|
appMediator: flowParameters.appMediator,
|
||||||
|
appSettings: flowParameters.appSettings)
|
||||||
let coordinator = RoomDetailsScreenCoordinator(parameters: params)
|
let coordinator = RoomDetailsScreenCoordinator(parameters: params)
|
||||||
coordinator.actions.sink { [weak self] action in
|
coordinator.actions.sink { [weak self] action in
|
||||||
guard let self else { return }
|
guard let self else { return }
|
||||||
@@ -1185,7 +1190,8 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
|
|
||||||
let parameters = RoomPollsHistoryScreenCoordinatorParameters(pollInteractionHandler: PollInteractionHandler(analyticsService: flowParameters.analytics,
|
let parameters = RoomPollsHistoryScreenCoordinatorParameters(pollInteractionHandler: PollInteractionHandler(analyticsService: flowParameters.analytics,
|
||||||
timelineController: timelineController),
|
timelineController: timelineController),
|
||||||
timelineController: timelineController)
|
timelineController: timelineController,
|
||||||
|
userIndicatorController: flowParameters.userIndicatorController)
|
||||||
let coordinator = RoomPollsHistoryScreenCoordinator(parameters: parameters)
|
let coordinator = RoomPollsHistoryScreenCoordinator(parameters: parameters)
|
||||||
coordinator.actions
|
coordinator.actions
|
||||||
.sink { [weak self] action in
|
.sink { [weak self] action in
|
||||||
@@ -1322,7 +1328,8 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
let parameters = NotificationSettingsScreenCoordinatorParameters(navigationStackCoordinator: stackCoordinator,
|
let parameters = NotificationSettingsScreenCoordinatorParameters(navigationStackCoordinator: stackCoordinator,
|
||||||
userSession: userSession,
|
userSession: userSession,
|
||||||
userNotificationCenter: UNUserNotificationCenter.current(),
|
userNotificationCenter: UNUserNotificationCenter.current(),
|
||||||
isModallyPresented: true)
|
isModallyPresented: true,
|
||||||
|
appSettings: flowParameters.appSettings)
|
||||||
let coordinator = NotificationSettingsScreenCoordinator(parameters: parameters)
|
let coordinator = NotificationSettingsScreenCoordinator(parameters: parameters)
|
||||||
coordinator.actions.sink { [weak self] action in
|
coordinator.actions.sink { [weak self] action in
|
||||||
switch action {
|
switch action {
|
||||||
|
|||||||
@@ -185,7 +185,8 @@ class SettingsFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
let notificationParameters = NotificationSettingsScreenCoordinatorParameters(navigationStackCoordinator: navigationStackCoordinator,
|
let notificationParameters = NotificationSettingsScreenCoordinatorParameters(navigationStackCoordinator: navigationStackCoordinator,
|
||||||
userSession: flowParameters.userSession,
|
userSession: flowParameters.userSession,
|
||||||
userNotificationCenter: UNUserNotificationCenter.current(),
|
userNotificationCenter: UNUserNotificationCenter.current(),
|
||||||
isModallyPresented: false)
|
isModallyPresented: false,
|
||||||
|
appSettings: flowParameters.appSettings)
|
||||||
let coordinator = NotificationSettingsScreenCoordinator(parameters: notificationParameters)
|
let coordinator = NotificationSettingsScreenCoordinator(parameters: notificationParameters)
|
||||||
navigationStackCoordinator.push(coordinator)
|
navigationStackCoordinator.push(coordinator)
|
||||||
}
|
}
|
||||||
@@ -199,7 +200,7 @@ class SettingsFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func presentDeveloperOptions() {
|
private func presentDeveloperOptions() {
|
||||||
let coordinator = DeveloperOptionsScreenCoordinator()
|
let coordinator = DeveloperOptionsScreenCoordinator(appSettings: flowParameters.appSettings)
|
||||||
|
|
||||||
coordinator.actions
|
coordinator.actions
|
||||||
.sink { [weak self] action in
|
.sink { [weak self] action in
|
||||||
@@ -240,7 +241,9 @@ class SettingsFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
private func presentAccountManagementURL(_ url: URL) {
|
private func presentAccountManagementURL(_ url: URL) {
|
||||||
// Note to anyone in the future if you come back here to make this open in Safari instead of a WAS.
|
// Note to anyone in the future if you come back here to make this open in Safari instead of a WAS.
|
||||||
// As of iOS 16, there is an issue on the simulator with accessing the cookie but it works on a device. 🤷♂️
|
// As of iOS 16, there is an issue on the simulator with accessing the cookie but it works on a device. 🤷♂️
|
||||||
accountSettingsPresenter = OIDCAccountSettingsPresenter(accountURL: url, presentationAnchor: flowParameters.windowManager.mainWindow)
|
accountSettingsPresenter = OIDCAccountSettingsPresenter(accountURL: url,
|
||||||
|
presentationAnchor: flowParameters.windowManager.mainWindow,
|
||||||
|
appSettings: flowParameters.appSettings)
|
||||||
accountSettingsPresenter?.start()
|
accountSettingsPresenter?.start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -12,6 +12,7 @@ struct SoftLogoutScreenCoordinatorParameters {
|
|||||||
let authenticationService: AuthenticationServiceProtocol
|
let authenticationService: AuthenticationServiceProtocol
|
||||||
let credentials: SoftLogoutScreenCredentials
|
let credentials: SoftLogoutScreenCredentials
|
||||||
let keyBackupNeeded: Bool
|
let keyBackupNeeded: Bool
|
||||||
|
let appSettings: AppSettings
|
||||||
let userIndicatorController: UserIndicatorControllerProtocol
|
let userIndicatorController: UserIndicatorControllerProtocol
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,7 +143,7 @@ final class SoftLogoutScreenCoordinator: CoordinatorProtocol {
|
|||||||
stopLoading()
|
stopLoading()
|
||||||
|
|
||||||
let presenter = OIDCAuthenticationPresenter(authenticationService: parameters.authenticationService,
|
let presenter = OIDCAuthenticationPresenter(authenticationService: parameters.authenticationService,
|
||||||
oidcRedirectURL: ServiceLocator.shared.settings.oidcRedirectURL,
|
oidcRedirectURL: parameters.appSettings.oidcRedirectURL,
|
||||||
presentationAnchor: presentationAnchor,
|
presentationAnchor: presentationAnchor,
|
||||||
userIndicatorController: parameters.userIndicatorController)
|
userIndicatorController: parameters.userIndicatorController)
|
||||||
self.oidcPresenter = presenter
|
self.oidcPresenter = presenter
|
||||||
|
|||||||
@@ -13,7 +13,9 @@ struct CallScreenCoordinatorParameters {
|
|||||||
let elementCallService: ElementCallServiceProtocol
|
let elementCallService: ElementCallServiceProtocol
|
||||||
let configuration: ElementCallConfiguration
|
let configuration: ElementCallConfiguration
|
||||||
let allowPictureInPicture: Bool
|
let allowPictureInPicture: Bool
|
||||||
|
let appSettings: AppSettings
|
||||||
let appHooks: AppHooks
|
let appHooks: AppHooks
|
||||||
|
let analytics: AnalyticsService
|
||||||
}
|
}
|
||||||
|
|
||||||
enum CallScreenCoordinatorAction {
|
enum CallScreenCoordinatorAction {
|
||||||
@@ -44,8 +46,8 @@ final class CallScreenCoordinator: CoordinatorProtocol {
|
|||||||
configuration: parameters.configuration,
|
configuration: parameters.configuration,
|
||||||
allowPictureInPicture: parameters.allowPictureInPicture,
|
allowPictureInPicture: parameters.allowPictureInPicture,
|
||||||
appHooks: parameters.appHooks,
|
appHooks: parameters.appHooks,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: parameters.appSettings,
|
||||||
analyticsService: ServiceLocator.shared.analytics)
|
analyticsService: parameters.analytics)
|
||||||
}
|
}
|
||||||
|
|
||||||
func start() {
|
func start() {
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ struct CreateRoomCoordinatorParameters {
|
|||||||
let userIndicatorController: UserIndicatorControllerProtocol
|
let userIndicatorController: UserIndicatorControllerProtocol
|
||||||
let createRoomParameters: CurrentValuePublisher<CreateRoomFlowParameters, Never>
|
let createRoomParameters: CurrentValuePublisher<CreateRoomFlowParameters, Never>
|
||||||
let selectedUsers: CurrentValuePublisher<[UserProfileProxy], Never>
|
let selectedUsers: CurrentValuePublisher<[UserProfileProxy], Never>
|
||||||
|
let appSettings: AppSettings
|
||||||
|
let analytics: AnalyticsService
|
||||||
}
|
}
|
||||||
|
|
||||||
enum CreateRoomCoordinatorAction {
|
enum CreateRoomCoordinatorAction {
|
||||||
@@ -36,9 +38,9 @@ final class CreateRoomCoordinator: CoordinatorProtocol {
|
|||||||
viewModel = CreateRoomViewModel(userSession: parameters.userSession,
|
viewModel = CreateRoomViewModel(userSession: parameters.userSession,
|
||||||
createRoomParameters: parameters.createRoomParameters,
|
createRoomParameters: parameters.createRoomParameters,
|
||||||
selectedUsers: parameters.selectedUsers,
|
selectedUsers: parameters.selectedUsers,
|
||||||
analytics: ServiceLocator.shared.analytics,
|
analytics: parameters.analytics,
|
||||||
userIndicatorController: parameters.userIndicatorController,
|
userIndicatorController: parameters.userIndicatorController,
|
||||||
appSettings: ServiceLocator.shared.settings)
|
appSettings: parameters.appSettings)
|
||||||
}
|
}
|
||||||
|
|
||||||
func start() {
|
func start() {
|
||||||
|
|||||||
+8
-6
@@ -16,6 +16,8 @@ struct MediaEventsTimelineScreenCoordinatorParameters {
|
|||||||
let mediaPlayerProvider: MediaPlayerProviderProtocol
|
let mediaPlayerProvider: MediaPlayerProviderProtocol
|
||||||
let voiceMessageMediaManager: VoiceMessageMediaManagerProtocol
|
let voiceMessageMediaManager: VoiceMessageMediaManagerProtocol
|
||||||
let appMediator: AppMediatorProtocol
|
let appMediator: AppMediatorProtocol
|
||||||
|
let appSettings: AppSettings
|
||||||
|
let analytics: AnalyticsService
|
||||||
let emojiProvider: EmojiProviderProtocol
|
let emojiProvider: EmojiProviderProtocol
|
||||||
let userIndicatorController: UserIndicatorControllerProtocol
|
let userIndicatorController: UserIndicatorControllerProtocol
|
||||||
let timelineControllerFactory: TimelineControllerFactoryProtocol
|
let timelineControllerFactory: TimelineControllerFactoryProtocol
|
||||||
@@ -45,10 +47,10 @@ final class MediaEventsTimelineScreenCoordinator: CoordinatorProtocol {
|
|||||||
mediaProvider: parameters.mediaProvider,
|
mediaProvider: parameters.mediaProvider,
|
||||||
mediaPlayerProvider: parameters.mediaPlayerProvider,
|
mediaPlayerProvider: parameters.mediaPlayerProvider,
|
||||||
voiceMessageMediaManager: parameters.voiceMessageMediaManager,
|
voiceMessageMediaManager: parameters.voiceMessageMediaManager,
|
||||||
userIndicatorController: ServiceLocator.shared.userIndicatorController,
|
userIndicatorController: parameters.userIndicatorController,
|
||||||
appMediator: parameters.appMediator,
|
appMediator: parameters.appMediator,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: parameters.appSettings,
|
||||||
analyticsService: ServiceLocator.shared.analytics,
|
analyticsService: parameters.analytics,
|
||||||
emojiProvider: parameters.emojiProvider,
|
emojiProvider: parameters.emojiProvider,
|
||||||
timelineControllerFactory: parameters.timelineControllerFactory,
|
timelineControllerFactory: parameters.timelineControllerFactory,
|
||||||
clientProxy: parameters.clientProxy)
|
clientProxy: parameters.clientProxy)
|
||||||
@@ -58,10 +60,10 @@ final class MediaEventsTimelineScreenCoordinator: CoordinatorProtocol {
|
|||||||
mediaProvider: parameters.mediaProvider,
|
mediaProvider: parameters.mediaProvider,
|
||||||
mediaPlayerProvider: parameters.mediaPlayerProvider,
|
mediaPlayerProvider: parameters.mediaPlayerProvider,
|
||||||
voiceMessageMediaManager: parameters.voiceMessageMediaManager,
|
voiceMessageMediaManager: parameters.voiceMessageMediaManager,
|
||||||
userIndicatorController: ServiceLocator.shared.userIndicatorController,
|
userIndicatorController: parameters.userIndicatorController,
|
||||||
appMediator: parameters.appMediator,
|
appMediator: parameters.appMediator,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: parameters.appSettings,
|
||||||
analyticsService: ServiceLocator.shared.analytics,
|
analyticsService: parameters.analytics,
|
||||||
emojiProvider: parameters.emojiProvider,
|
emojiProvider: parameters.emojiProvider,
|
||||||
timelineControllerFactory: parameters.timelineControllerFactory,
|
timelineControllerFactory: parameters.timelineControllerFactory,
|
||||||
clientProxy: parameters.clientProxy)
|
clientProxy: parameters.clientProxy)
|
||||||
|
|||||||
+7
-4
@@ -15,9 +15,12 @@ struct PinnedEventsTimelineScreenCoordinatorParameters {
|
|||||||
let mediaPlayerProvider: MediaPlayerProviderProtocol
|
let mediaPlayerProvider: MediaPlayerProviderProtocol
|
||||||
let voiceMessageMediaManager: VoiceMessageMediaManagerProtocol
|
let voiceMessageMediaManager: VoiceMessageMediaManagerProtocol
|
||||||
let appMediator: AppMediatorProtocol
|
let appMediator: AppMediatorProtocol
|
||||||
|
let appSettings: AppSettings
|
||||||
|
let analytics: AnalyticsService
|
||||||
let emojiProvider: EmojiProviderProtocol
|
let emojiProvider: EmojiProviderProtocol
|
||||||
let timelineControllerFactory: TimelineControllerFactoryProtocol
|
let timelineControllerFactory: TimelineControllerFactoryProtocol
|
||||||
let clientProxy: ClientProxyProtocol
|
let clientProxy: ClientProxyProtocol
|
||||||
|
let userIndicatorController: UserIndicatorControllerProtocol
|
||||||
}
|
}
|
||||||
|
|
||||||
enum PinnedEventsTimelineScreenCoordinatorAction {
|
enum PinnedEventsTimelineScreenCoordinatorAction {
|
||||||
@@ -43,16 +46,16 @@ final class PinnedEventsTimelineScreenCoordinator: CoordinatorProtocol {
|
|||||||
init(parameters: PinnedEventsTimelineScreenCoordinatorParameters) {
|
init(parameters: PinnedEventsTimelineScreenCoordinatorParameters) {
|
||||||
self.parameters = parameters
|
self.parameters = parameters
|
||||||
|
|
||||||
viewModel = PinnedEventsTimelineScreenViewModel(analyticsService: ServiceLocator.shared.analytics)
|
viewModel = PinnedEventsTimelineScreenViewModel(analyticsService: parameters.analytics)
|
||||||
timelineViewModel = TimelineViewModel(roomProxy: parameters.roomProxy,
|
timelineViewModel = TimelineViewModel(roomProxy: parameters.roomProxy,
|
||||||
timelineController: parameters.timelineController,
|
timelineController: parameters.timelineController,
|
||||||
mediaProvider: parameters.mediaProvider,
|
mediaProvider: parameters.mediaProvider,
|
||||||
mediaPlayerProvider: parameters.mediaPlayerProvider,
|
mediaPlayerProvider: parameters.mediaPlayerProvider,
|
||||||
voiceMessageMediaManager: parameters.voiceMessageMediaManager,
|
voiceMessageMediaManager: parameters.voiceMessageMediaManager,
|
||||||
userIndicatorController: ServiceLocator.shared.userIndicatorController,
|
userIndicatorController: parameters.userIndicatorController,
|
||||||
appMediator: parameters.appMediator,
|
appMediator: parameters.appMediator,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: parameters.appSettings,
|
||||||
analyticsService: ServiceLocator.shared.analytics,
|
analyticsService: parameters.analytics,
|
||||||
emojiProvider: parameters.emojiProvider,
|
emojiProvider: parameters.emojiProvider,
|
||||||
timelineControllerFactory: parameters.timelineControllerFactory,
|
timelineControllerFactory: parameters.timelineControllerFactory,
|
||||||
clientProxy: parameters.clientProxy)
|
clientProxy: parameters.clientProxy)
|
||||||
|
|||||||
+4
-4
@@ -101,10 +101,10 @@ class ResolveVerifiedUserSendFailureScreenViewModel: ResolveVerifiedUserSendFail
|
|||||||
private static let failureIndicatorIdentifier = "\(ResolveVerifiedUserSendFailureScreenViewModel.self)-Failure"
|
private static let failureIndicatorIdentifier = "\(ResolveVerifiedUserSendFailureScreenViewModel.self)-Failure"
|
||||||
|
|
||||||
private func showFailureIndicator() {
|
private func showFailureIndicator() {
|
||||||
ServiceLocator.shared.userIndicatorController.submitIndicator(UserIndicator(id: Self.failureIndicatorIdentifier,
|
userIndicatorController.submitIndicator(UserIndicator(id: Self.failureIndicatorIdentifier,
|
||||||
type: .toast,
|
type: .toast,
|
||||||
title: L10n.errorUnknown,
|
title: L10n.errorUnknown,
|
||||||
iconName: "xmark"))
|
iconName: "xmark"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ struct RoomDetailsScreenCoordinatorParameters {
|
|||||||
let notificationSettings: NotificationSettingsProxyProtocol
|
let notificationSettings: NotificationSettingsProxyProtocol
|
||||||
let attributedStringBuilder: AttributedStringBuilderProtocol
|
let attributedStringBuilder: AttributedStringBuilderProtocol
|
||||||
let appMediator: AppMediatorProtocol
|
let appMediator: AppMediatorProtocol
|
||||||
|
let appSettings: AppSettings
|
||||||
}
|
}
|
||||||
|
|
||||||
enum RoomDetailsScreenCoordinatorAction {
|
enum RoomDetailsScreenCoordinatorAction {
|
||||||
@@ -56,7 +57,7 @@ final class RoomDetailsScreenCoordinator: CoordinatorProtocol {
|
|||||||
notificationSettingsProxy: parameters.notificationSettings,
|
notificationSettingsProxy: parameters.notificationSettings,
|
||||||
attributedStringBuilder: parameters.attributedStringBuilder,
|
attributedStringBuilder: parameters.attributedStringBuilder,
|
||||||
appMediator: parameters.appMediator,
|
appMediator: parameters.appMediator,
|
||||||
appSettings: ServiceLocator.shared.settings)
|
appSettings: parameters.appSettings)
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Public
|
// MARK: - Public
|
||||||
|
|||||||
+2
-1
@@ -11,6 +11,7 @@ import SwiftUI
|
|||||||
struct RoomPollsHistoryScreenCoordinatorParameters {
|
struct RoomPollsHistoryScreenCoordinatorParameters {
|
||||||
let pollInteractionHandler: PollInteractionHandlerProtocol
|
let pollInteractionHandler: PollInteractionHandlerProtocol
|
||||||
let timelineController: TimelineControllerProtocol
|
let timelineController: TimelineControllerProtocol
|
||||||
|
let userIndicatorController: UserIndicatorControllerProtocol
|
||||||
}
|
}
|
||||||
|
|
||||||
enum RoomPollsHistoryScreenCoordinatorAction {
|
enum RoomPollsHistoryScreenCoordinatorAction {
|
||||||
@@ -29,7 +30,7 @@ final class RoomPollsHistoryScreenCoordinator: CoordinatorProtocol {
|
|||||||
init(parameters: RoomPollsHistoryScreenCoordinatorParameters) {
|
init(parameters: RoomPollsHistoryScreenCoordinatorParameters) {
|
||||||
viewModel = RoomPollsHistoryScreenViewModel(pollInteractionHandler: parameters.pollInteractionHandler,
|
viewModel = RoomPollsHistoryScreenViewModel(pollInteractionHandler: parameters.pollInteractionHandler,
|
||||||
timelineController: parameters.timelineController,
|
timelineController: parameters.timelineController,
|
||||||
userIndicatorController: ServiceLocator.shared.userIndicatorController)
|
userIndicatorController: parameters.userIndicatorController)
|
||||||
}
|
}
|
||||||
|
|
||||||
func start() {
|
func start() {
|
||||||
|
|||||||
@@ -26,8 +26,10 @@ struct RoomScreenCoordinatorParameters {
|
|||||||
let appMediator: AppMediatorProtocol
|
let appMediator: AppMediatorProtocol
|
||||||
let appSettings: AppSettings
|
let appSettings: AppSettings
|
||||||
let appHooks: AppHooks
|
let appHooks: AppHooks
|
||||||
|
let analytics: AnalyticsService
|
||||||
let composerDraftService: ComposerDraftServiceProtocol
|
let composerDraftService: ComposerDraftServiceProtocol
|
||||||
let timelineControllerFactory: TimelineControllerFactoryProtocol
|
let timelineControllerFactory: TimelineControllerFactoryProtocol
|
||||||
|
let userIndicatorController: UserIndicatorControllerProtocol
|
||||||
}
|
}
|
||||||
|
|
||||||
enum RoomScreenCoordinatorAction {
|
enum RoomScreenCoordinatorAction {
|
||||||
@@ -75,8 +77,8 @@ final class RoomScreenCoordinator: CoordinatorProtocol {
|
|||||||
appMediator: parameters.appMediator,
|
appMediator: parameters.appMediator,
|
||||||
appSettings: parameters.appSettings,
|
appSettings: parameters.appSettings,
|
||||||
appHooks: parameters.appHooks,
|
appHooks: parameters.appHooks,
|
||||||
analyticsService: ServiceLocator.shared.analytics,
|
analyticsService: parameters.analytics,
|
||||||
userIndicatorController: ServiceLocator.shared.userIndicatorController)
|
userIndicatorController: parameters.userIndicatorController)
|
||||||
|
|
||||||
timelineViewModel = TimelineViewModel(roomProxy: parameters.roomProxy,
|
timelineViewModel = TimelineViewModel(roomProxy: parameters.roomProxy,
|
||||||
focussedEventID: parameters.focussedEvent?.eventID,
|
focussedEventID: parameters.focussedEvent?.eventID,
|
||||||
@@ -84,10 +86,10 @@ final class RoomScreenCoordinator: CoordinatorProtocol {
|
|||||||
mediaProvider: parameters.mediaProvider,
|
mediaProvider: parameters.mediaProvider,
|
||||||
mediaPlayerProvider: parameters.mediaPlayerProvider,
|
mediaPlayerProvider: parameters.mediaPlayerProvider,
|
||||||
voiceMessageMediaManager: parameters.voiceMessageMediaManager,
|
voiceMessageMediaManager: parameters.voiceMessageMediaManager,
|
||||||
userIndicatorController: ServiceLocator.shared.userIndicatorController,
|
userIndicatorController: parameters.userIndicatorController,
|
||||||
appMediator: parameters.appMediator,
|
appMediator: parameters.appMediator,
|
||||||
appSettings: parameters.appSettings,
|
appSettings: parameters.appSettings,
|
||||||
analyticsService: ServiceLocator.shared.analytics,
|
analyticsService: parameters.analytics,
|
||||||
emojiProvider: parameters.emojiProvider,
|
emojiProvider: parameters.emojiProvider,
|
||||||
timelineControllerFactory: parameters.timelineControllerFactory,
|
timelineControllerFactory: parameters.timelineControllerFactory,
|
||||||
clientProxy: parameters.clientProxy)
|
clientProxy: parameters.clientProxy)
|
||||||
@@ -103,7 +105,7 @@ final class RoomScreenCoordinator: CoordinatorProtocol {
|
|||||||
mediaProvider: parameters.mediaProvider,
|
mediaProvider: parameters.mediaProvider,
|
||||||
mentionDisplayHelper: ComposerMentionDisplayHelper(timelineContext: timelineViewModel.context),
|
mentionDisplayHelper: ComposerMentionDisplayHelper(timelineContext: timelineViewModel.context),
|
||||||
appSettings: parameters.appSettings,
|
appSettings: parameters.appSettings,
|
||||||
analyticsService: ServiceLocator.shared.analytics,
|
analyticsService: parameters.analytics,
|
||||||
composerDraftService: parameters.composerDraftService)
|
composerDraftService: parameters.composerDraftService)
|
||||||
self.composerViewModel = composerViewModel
|
self.composerViewModel = composerViewModel
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -19,10 +19,10 @@ class OIDCAccountSettingsPresenter: NSObject {
|
|||||||
private let presentationAnchor: UIWindow
|
private let presentationAnchor: UIWindow
|
||||||
private let oidcRedirectURL: URL
|
private let oidcRedirectURL: URL
|
||||||
|
|
||||||
init(accountURL: URL, presentationAnchor: UIWindow) {
|
init(accountURL: URL, presentationAnchor: UIWindow, appSettings: AppSettings) {
|
||||||
self.accountURL = accountURL
|
self.accountURL = accountURL
|
||||||
self.presentationAnchor = presentationAnchor
|
self.presentationAnchor = presentationAnchor
|
||||||
oidcRedirectURL = ServiceLocator.shared.settings.oidcRedirectURL
|
oidcRedirectURL = appSettings.oidcRedirectURL
|
||||||
super.init()
|
super.init()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -22,9 +22,9 @@ final class DeveloperOptionsScreenCoordinator: CoordinatorProtocol {
|
|||||||
actionsSubject.eraseToAnyPublisher()
|
actionsSubject.eraseToAnyPublisher()
|
||||||
}
|
}
|
||||||
|
|
||||||
init() {
|
init(appSettings: AppSettings) {
|
||||||
viewModel = DeveloperOptionsScreenViewModel(developerOptions: ServiceLocator.shared.settings,
|
viewModel = DeveloperOptionsScreenViewModel(developerOptions: appSettings,
|
||||||
elementCallBaseURL: ServiceLocator.shared.settings.elementCallBaseURL)
|
elementCallBaseURL: appSettings.elementCallBaseURL)
|
||||||
|
|
||||||
viewModel.actions
|
viewModel.actions
|
||||||
.sink { [weak self] action in
|
.sink { [weak self] action in
|
||||||
|
|||||||
+2
-1
@@ -13,6 +13,7 @@ struct NotificationSettingsScreenCoordinatorParameters {
|
|||||||
let userSession: UserSessionProtocol
|
let userSession: UserSessionProtocol
|
||||||
let userNotificationCenter: UserNotificationCenterProtocol
|
let userNotificationCenter: UserNotificationCenterProtocol
|
||||||
let isModallyPresented: Bool
|
let isModallyPresented: Bool
|
||||||
|
let appSettings: AppSettings
|
||||||
}
|
}
|
||||||
|
|
||||||
enum NotificationSettingsScreenCoordinatorAction {
|
enum NotificationSettingsScreenCoordinatorAction {
|
||||||
@@ -36,7 +37,7 @@ final class NotificationSettingsScreenCoordinator: CoordinatorProtocol {
|
|||||||
init(parameters: NotificationSettingsScreenCoordinatorParameters) {
|
init(parameters: NotificationSettingsScreenCoordinatorParameters) {
|
||||||
self.parameters = parameters
|
self.parameters = parameters
|
||||||
|
|
||||||
viewModel = NotificationSettingsScreenViewModel(appSettings: ServiceLocator.shared.settings,
|
viewModel = NotificationSettingsScreenViewModel(appSettings: parameters.appSettings,
|
||||||
userNotificationCenter: parameters.userNotificationCenter,
|
userNotificationCenter: parameters.userNotificationCenter,
|
||||||
notificationSettingsProxy: parameters.userSession.clientProxy.notificationSettings,
|
notificationSettingsProxy: parameters.userSession.clientProxy.notificationSettings,
|
||||||
isModallyPresented: parameters.isModallyPresented)
|
isModallyPresented: parameters.isModallyPresented)
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ struct StartChatScreenCoordinatorParameters {
|
|||||||
let userDiscoveryService: UserDiscoveryServiceProtocol
|
let userDiscoveryService: UserDiscoveryServiceProtocol
|
||||||
let mediaUploadingPreprocessor: MediaUploadingPreprocessor
|
let mediaUploadingPreprocessor: MediaUploadingPreprocessor
|
||||||
let appSettings: AppSettings
|
let appSettings: AppSettings
|
||||||
|
let analytics: AnalyticsService
|
||||||
}
|
}
|
||||||
|
|
||||||
enum StartChatScreenCoordinatorAction {
|
enum StartChatScreenCoordinatorAction {
|
||||||
@@ -48,10 +49,10 @@ final class StartChatScreenCoordinator: CoordinatorProtocol {
|
|||||||
self.parameters = parameters
|
self.parameters = parameters
|
||||||
|
|
||||||
viewModel = StartChatScreenViewModel(userSession: parameters.userSession,
|
viewModel = StartChatScreenViewModel(userSession: parameters.userSession,
|
||||||
analytics: ServiceLocator.shared.analytics,
|
analytics: parameters.analytics,
|
||||||
userIndicatorController: parameters.userIndicatorController,
|
userIndicatorController: parameters.userIndicatorController,
|
||||||
userDiscoveryService: parameters.userDiscoveryService,
|
userDiscoveryService: parameters.userDiscoveryService,
|
||||||
appSettings: ServiceLocator.shared.settings)
|
appSettings: parameters.appSettings)
|
||||||
}
|
}
|
||||||
|
|
||||||
func start() {
|
func start() {
|
||||||
@@ -114,7 +115,9 @@ final class StartChatScreenCoordinator: CoordinatorProtocol {
|
|||||||
let createParameters = CreateRoomCoordinatorParameters(userSession: parameters.userSession,
|
let createParameters = CreateRoomCoordinatorParameters(userSession: parameters.userSession,
|
||||||
userIndicatorController: parameters.userIndicatorController,
|
userIndicatorController: parameters.userIndicatorController,
|
||||||
createRoomParameters: createRoomParametersPublisher,
|
createRoomParameters: createRoomParametersPublisher,
|
||||||
selectedUsers: selectedUsersPublisher)
|
selectedUsers: selectedUsersPublisher,
|
||||||
|
appSettings: parameters.appSettings,
|
||||||
|
analytics: parameters.analytics)
|
||||||
let coordinator = CreateRoomCoordinator(parameters: createParameters)
|
let coordinator = CreateRoomCoordinator(parameters: createParameters)
|
||||||
coordinator.actions.sink { [weak self] action in
|
coordinator.actions.sink { [weak self] action in
|
||||||
guard let self else { return }
|
guard let self else { return }
|
||||||
|
|||||||
@@ -21,8 +21,10 @@ struct ThreadTimelineScreenCoordinatorParameters {
|
|||||||
let completionSuggestionService: CompletionSuggestionServiceProtocol
|
let completionSuggestionService: CompletionSuggestionServiceProtocol
|
||||||
let appMediator: AppMediatorProtocol
|
let appMediator: AppMediatorProtocol
|
||||||
let appSettings: AppSettings
|
let appSettings: AppSettings
|
||||||
|
let analytics: AnalyticsService
|
||||||
let composerDraftService: ComposerDraftServiceProtocol
|
let composerDraftService: ComposerDraftServiceProtocol
|
||||||
let timelineControllerFactory: TimelineControllerFactoryProtocol
|
let timelineControllerFactory: TimelineControllerFactoryProtocol
|
||||||
|
let userIndicatorController: UserIndicatorControllerProtocol
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ThreadTimelineScreenCoordinatorAction {
|
enum ThreadTimelineScreenCoordinatorAction {
|
||||||
@@ -61,10 +63,10 @@ final class ThreadTimelineScreenCoordinator: CoordinatorProtocol {
|
|||||||
mediaProvider: parameters.mediaProvider,
|
mediaProvider: parameters.mediaProvider,
|
||||||
mediaPlayerProvider: parameters.mediaPlayerProvider,
|
mediaPlayerProvider: parameters.mediaPlayerProvider,
|
||||||
voiceMessageMediaManager: parameters.voiceMessageMediaManager,
|
voiceMessageMediaManager: parameters.voiceMessageMediaManager,
|
||||||
userIndicatorController: ServiceLocator.shared.userIndicatorController,
|
userIndicatorController: parameters.userIndicatorController,
|
||||||
appMediator: parameters.appMediator,
|
appMediator: parameters.appMediator,
|
||||||
appSettings: parameters.appSettings,
|
appSettings: parameters.appSettings,
|
||||||
analyticsService: ServiceLocator.shared.analytics,
|
analyticsService: parameters.analytics,
|
||||||
emojiProvider: parameters.emojiProvider,
|
emojiProvider: parameters.emojiProvider,
|
||||||
timelineControllerFactory: parameters.timelineControllerFactory,
|
timelineControllerFactory: parameters.timelineControllerFactory,
|
||||||
clientProxy: parameters.clientProxy)
|
clientProxy: parameters.clientProxy)
|
||||||
@@ -81,7 +83,7 @@ final class ThreadTimelineScreenCoordinator: CoordinatorProtocol {
|
|||||||
mediaProvider: parameters.mediaProvider,
|
mediaProvider: parameters.mediaProvider,
|
||||||
mentionDisplayHelper: ComposerMentionDisplayHelper(timelineContext: timelineViewModel.context),
|
mentionDisplayHelper: ComposerMentionDisplayHelper(timelineContext: timelineViewModel.context),
|
||||||
appSettings: parameters.appSettings,
|
appSettings: parameters.appSettings,
|
||||||
analyticsService: ServiceLocator.shared.analytics,
|
analyticsService: parameters.analytics,
|
||||||
composerDraftService: parameters.composerDraftService)
|
composerDraftService: parameters.composerDraftService)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -272,8 +272,10 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
|
analytics: ServiceLocator.shared.analytics,
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
composerDraftService: ComposerDraftServiceMock(.init()),
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
timelineControllerFactory: TimelineControllerFactoryMock(.init()),
|
||||||
|
userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
return navigationStackCoordinator
|
return navigationStackCoordinator
|
||||||
@@ -293,8 +295,10 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
|
analytics: ServiceLocator.shared.analytics,
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
composerDraftService: ComposerDraftServiceMock(.init()),
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
timelineControllerFactory: TimelineControllerFactoryMock(.init()),
|
||||||
|
userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
return navigationStackCoordinator
|
return navigationStackCoordinator
|
||||||
@@ -314,8 +318,9 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
|
analytics: ServiceLocator.shared.analytics,
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
composerDraftService: ComposerDraftServiceMock(.init()),
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
timelineControllerFactory: TimelineControllerFactoryMock(.init()), userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
return navigationStackCoordinator
|
return navigationStackCoordinator
|
||||||
@@ -335,8 +340,9 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
|
analytics: ServiceLocator.shared.analytics,
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
composerDraftService: ComposerDraftServiceMock(.init()),
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
timelineControllerFactory: TimelineControllerFactoryMock(.init()), userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
return navigationStackCoordinator
|
return navigationStackCoordinator
|
||||||
@@ -359,8 +365,9 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
|
analytics: ServiceLocator.shared.analytics,
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
composerDraftService: ComposerDraftServiceMock(.init()),
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
timelineControllerFactory: TimelineControllerFactoryMock(.init()), userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
|
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
@@ -383,8 +390,8 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
analytics: ServiceLocator.shared.analytics,
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
composerDraftService: ComposerDraftServiceMock(.init()), timelineControllerFactory: TimelineControllerFactoryMock(.init()), userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
|
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
@@ -407,8 +414,9 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
|
analytics: ServiceLocator.shared.analytics,
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
composerDraftService: ComposerDraftServiceMock(.init()),
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
timelineControllerFactory: TimelineControllerFactoryMock(.init()), userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
|
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
@@ -432,8 +440,9 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
|
analytics: ServiceLocator.shared.analytics,
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
composerDraftService: ComposerDraftServiceMock(.init()),
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
timelineControllerFactory: TimelineControllerFactoryMock(.init()), userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
|
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
@@ -456,8 +465,9 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
|
analytics: ServiceLocator.shared.analytics,
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
composerDraftService: ComposerDraftServiceMock(.init()),
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
timelineControllerFactory: TimelineControllerFactoryMock(.init()), userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
|
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
@@ -479,8 +489,9 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
|
analytics: ServiceLocator.shared.analytics,
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
composerDraftService: ComposerDraftServiceMock(.init()),
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
timelineControllerFactory: TimelineControllerFactoryMock(.init()), userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
|
|
||||||
@@ -516,8 +527,9 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
|
analytics: ServiceLocator.shared.analytics,
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
composerDraftService: ComposerDraftServiceMock(.init()),
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
timelineControllerFactory: TimelineControllerFactoryMock(.init()), userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
|
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
@@ -540,8 +552,9 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
|
analytics: ServiceLocator.shared.analytics,
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
composerDraftService: ComposerDraftServiceMock(.init()),
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
timelineControllerFactory: TimelineControllerFactoryMock(.init()), userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
|
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
@@ -564,8 +577,9 @@ class MockScreen: Identifiable {
|
|||||||
appMediator: AppMediatorMock.default,
|
appMediator: AppMediatorMock.default,
|
||||||
appSettings: ServiceLocator.shared.settings,
|
appSettings: ServiceLocator.shared.settings,
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
|
analytics: ServiceLocator.shared.analytics,
|
||||||
composerDraftService: ComposerDraftServiceMock(.init()),
|
composerDraftService: ComposerDraftServiceMock(.init()),
|
||||||
timelineControllerFactory: TimelineControllerFactoryMock(.init()))
|
timelineControllerFactory: TimelineControllerFactoryMock(.init()), userIndicatorController: UserIndicatorControllerMock())
|
||||||
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
let coordinator = RoomScreenCoordinator(parameters: parameters)
|
||||||
|
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
@@ -647,7 +661,8 @@ class MockScreen: Identifiable {
|
|||||||
navigationStackCoordinator: navigationStackCoordinator,
|
navigationStackCoordinator: navigationStackCoordinator,
|
||||||
userDiscoveryService: userDiscoveryMock,
|
userDiscoveryService: userDiscoveryMock,
|
||||||
mediaUploadingPreprocessor: MediaUploadingPreprocessor(appSettings: ServiceLocator.shared.settings),
|
mediaUploadingPreprocessor: MediaUploadingPreprocessor(appSettings: ServiceLocator.shared.settings),
|
||||||
appSettings: ServiceLocator.shared.settings)
|
appSettings: ServiceLocator.shared.settings,
|
||||||
|
analytics: ServiceLocator.shared.analytics)
|
||||||
let coordinator = StartChatScreenCoordinator(parameters: parameters)
|
let coordinator = StartChatScreenCoordinator(parameters: parameters)
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
return navigationStackCoordinator
|
return navigationStackCoordinator
|
||||||
@@ -663,7 +678,8 @@ class MockScreen: Identifiable {
|
|||||||
navigationStackCoordinator: navigationStackCoordinator,
|
navigationStackCoordinator: navigationStackCoordinator,
|
||||||
userDiscoveryService: userDiscoveryMock,
|
userDiscoveryService: userDiscoveryMock,
|
||||||
mediaUploadingPreprocessor: MediaUploadingPreprocessor(appSettings: ServiceLocator.shared.settings),
|
mediaUploadingPreprocessor: MediaUploadingPreprocessor(appSettings: ServiceLocator.shared.settings),
|
||||||
appSettings: ServiceLocator.shared.settings))
|
appSettings: ServiceLocator.shared.settings,
|
||||||
|
analytics: ServiceLocator.shared.analytics))
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
return navigationStackCoordinator
|
return navigationStackCoordinator
|
||||||
case .createRoom:
|
case .createRoom:
|
||||||
@@ -675,7 +691,9 @@ class MockScreen: Identifiable {
|
|||||||
let parameters = CreateRoomCoordinatorParameters(userSession: mockUserSession,
|
let parameters = CreateRoomCoordinatorParameters(userSession: mockUserSession,
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
createRoomParameters: .init(createRoomParameters),
|
createRoomParameters: .init(createRoomParameters),
|
||||||
selectedUsers: .init(selectedUsers))
|
selectedUsers: .init(selectedUsers),
|
||||||
|
appSettings: ServiceLocator.shared.settings,
|
||||||
|
analytics: ServiceLocator.shared.analytics)
|
||||||
let coordinator = CreateRoomCoordinator(parameters: parameters)
|
let coordinator = CreateRoomCoordinator(parameters: parameters)
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
return navigationStackCoordinator
|
return navigationStackCoordinator
|
||||||
@@ -687,7 +705,9 @@ class MockScreen: Identifiable {
|
|||||||
let parameters = CreateRoomCoordinatorParameters(userSession: mockUserSession,
|
let parameters = CreateRoomCoordinatorParameters(userSession: mockUserSession,
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
createRoomParameters: .init(createRoomParameters),
|
createRoomParameters: .init(createRoomParameters),
|
||||||
selectedUsers: .init([]))
|
selectedUsers: .init([]),
|
||||||
|
appSettings: ServiceLocator.shared.settings,
|
||||||
|
analytics: ServiceLocator.shared.analytics)
|
||||||
let coordinator = CreateRoomCoordinator(parameters: parameters)
|
let coordinator = CreateRoomCoordinator(parameters: parameters)
|
||||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||||
return navigationStackCoordinator
|
return navigationStackCoordinator
|
||||||
@@ -722,6 +742,7 @@ class MockScreen: Identifiable {
|
|||||||
let navigationStackCoordinator = NavigationStackCoordinator()
|
let navigationStackCoordinator = NavigationStackCoordinator()
|
||||||
|
|
||||||
let coordinator = EncryptionResetFlowCoordinator(parameters: .init(userSession: userSession,
|
let coordinator = EncryptionResetFlowCoordinator(parameters: .init(userSession: userSession,
|
||||||
|
appSettings: ServiceLocator.shared.settings,
|
||||||
userIndicatorController: userIndicatorController,
|
userIndicatorController: userIndicatorController,
|
||||||
navigationStackCoordinator: navigationStackCoordinator,
|
navigationStackCoordinator: navigationStackCoordinator,
|
||||||
windowManger: windowManager))
|
windowManger: windowManager))
|
||||||
|
|||||||
Reference in New Issue
Block a user