Bundle ClientProxy & MediaProvider injections together in UserSession.

This commit is contained in:
Doug
2025-08-27 17:25:28 +01:00
committed by Doug
parent b34816e159
commit f67f826bb7
74 changed files with 315 additions and 499 deletions
@@ -10,9 +10,8 @@ import SwiftUI
struct MessageForwardingScreenCoordinatorParameters {
let forwardingItem: MessageForwardingItem
let clientProxy: ClientProxyProtocol
let userSession: UserSessionProtocol
let roomSummaryProvider: RoomSummaryProviderProtocol
let mediaProvider: MediaProviderProtocol
let userIndicatorController: UserIndicatorControllerProtocol
}
@@ -32,10 +31,9 @@ final class MessageForwardingScreenCoordinator: CoordinatorProtocol {
init(parameters: MessageForwardingScreenCoordinatorParameters) {
viewModel = MessageForwardingScreenViewModel(forwardingItem: parameters.forwardingItem,
clientProxy: parameters.clientProxy,
userSession: parameters.userSession,
roomSummaryProvider: parameters.roomSummaryProvider,
userIndicatorController: parameters.userIndicatorController,
mediaProvider: parameters.mediaProvider)
userIndicatorController: parameters.userIndicatorController)
}
func start() {
@@ -23,16 +23,15 @@ class MessageForwardingScreenViewModel: MessageForwardingScreenViewModelType, Me
}
init(forwardingItem: MessageForwardingItem,
clientProxy: ClientProxyProtocol,
userSession: UserSessionProtocol,
roomSummaryProvider: RoomSummaryProviderProtocol,
userIndicatorController: UserIndicatorControllerProtocol,
mediaProvider: MediaProviderProtocol) {
userIndicatorController: UserIndicatorControllerProtocol) {
self.forwardingItem = forwardingItem
self.clientProxy = clientProxy
clientProxy = userSession.clientProxy
self.roomSummaryProvider = roomSummaryProvider
self.userIndicatorController = userIndicatorController
super.init(initialViewState: MessageForwardingScreenViewState(), mediaProvider: mediaProvider)
super.init(initialViewState: MessageForwardingScreenViewState(), mediaProvider: userSession.mediaProvider)
roomSummaryProvider.roomListPublisher
.receive(on: DispatchQueue.main)
@@ -97,10 +97,9 @@ struct MessageForwardingScreen_Previews: PreviewProvider, TestablePreview {
let viewModel = MessageForwardingScreenViewModel(forwardingItem: .init(id: .randomEvent,
roomID: "",
content: .init(noPointer: .init())),
clientProxy: ClientProxyMock(.init()),
userSession: UserSessionMock(.init()),
roomSummaryProvider: summaryProvider,
userIndicatorController: UserIndicatorControllerMock(),
mediaProvider: MediaProviderMock(configuration: .init()))
userIndicatorController: UserIndicatorControllerMock())
NavigationStack {
MessageForwardingScreen(context: viewModel.context)