Remove the CommonSettingsProtocol and use UserSession to carry multiple dependencies. (#6302)

* Remove the CommonSettingsProtocol.

* Replace multiple dependencies with the UserSession when it carries them.
This commit is contained in:
Doug
2026-10-09 10:20:00 +01:00
committed by GitHub
parent a3d170534c
commit 65bab49f39
75 changed files with 212 additions and 369 deletions
@@ -33,8 +33,7 @@ enum SessionVerificationScreenFlow {
struct SessionVerificationScreenCoordinatorParameters {
let sessionVerificationControllerProxy: SessionVerificationControllerProxyProtocol
let flow: SessionVerificationScreenFlow
let userSettings: UserSettings
let mediaProvider: MediaProviderProtocol
let userSession: UserSessionProtocol
}
final class SessionVerificationScreenCoordinator: CoordinatorProtocol {
@@ -50,8 +49,7 @@ final class SessionVerificationScreenCoordinator: CoordinatorProtocol {
init(parameters: SessionVerificationScreenCoordinatorParameters) {
viewModel = SessionVerificationScreenViewModel(sessionVerificationControllerProxy: parameters.sessionVerificationControllerProxy,
flow: parameters.flow,
userSettings: parameters.userSettings,
mediaProvider: parameters.mediaProvider)
userSession: parameters.userSession)
}
// MARK: - Public
@@ -25,8 +25,7 @@ class SessionVerificationScreenViewModel: SessionVerificationViewModelType, Sess
init(sessionVerificationControllerProxy: SessionVerificationControllerProxyProtocol,
flow: SessionVerificationScreenFlow,
userSettings: UserSettings,
mediaProvider: MediaProviderProtocol,
userSession: UserSessionProtocol,
verificationState: SessionVerificationScreenStateMachine.State = .initial) {
self.sessionVerificationControllerProxy = sessionVerificationControllerProxy
self.flow = flow
@@ -34,9 +33,9 @@ class SessionVerificationScreenViewModel: SessionVerificationViewModelType, Sess
stateMachine = SessionVerificationScreenStateMachine(state: verificationState)
super.init(initialViewState: .init(flow: flow,
learnMoreURL: userSettings.app.encryptionURL,
learnMoreURL: userSession.userSettings.app.encryptionURL,
verificationState: verificationState),
mediaProvider: mediaProvider)
mediaProvider: userSession.mediaProvider)
setupStateMachine()
@@ -289,8 +289,7 @@ struct SessionVerification_Previews: PreviewProvider, TestablePreview {
flow: SessionVerificationScreenFlow = .deviceInitiator) -> some View {
let viewModel = SessionVerificationScreenViewModel(sessionVerificationControllerProxy: SessionVerificationControllerProxyMock.configureMock(),
flow: flow,
userSettings: .mock(),
mediaProvider: MediaProviderMock(.init()),
userSession: UserSessionMock(.init()),
verificationState: state)
return SessionVerificationScreen(context: viewModel.context)