Replace AppSettings with UserSettings from the UserSessionFlow and below.

Remove some redundant injections when passed alongside a user session too.

# Conflicts:
#	ElementX/Sources/Screens/PinnedEventsTimelineScreen/View/PinnedEventsTimelineScreen.swift
#	ElementX/Sources/Screens/Timeline/TimelineViewModel.swift
This commit is contained in:
Doug
2026-09-25 13:51:33 +01:00
committed by Stefan Ceriu
parent 54cc1cba60
commit fccad5fc30
117 changed files with 554 additions and 594 deletions
@@ -10,7 +10,7 @@ import Combine
import SwiftUI
struct AnalyticsSettingsScreenCoordinatorParameters {
let appSettings: AppSettings
let userSettings: UserSettings
let analytics: AnalyticsServiceProtocol
}
@@ -18,7 +18,7 @@ final class AnalyticsSettingsScreenCoordinator: CoordinatorProtocol {
private let viewModel: AnalyticsSettingsScreenViewModel
init(parameters: AnalyticsSettingsScreenCoordinatorParameters) {
viewModel = AnalyticsSettingsScreenViewModel(appSettings: parameters.appSettings,
viewModel = AnalyticsSettingsScreenViewModel(userSettings: parameters.userSettings,
analytics: parameters.analytics)
}
@@ -14,16 +14,16 @@ typealias AnalyticsSettingsScreenViewModelType = StateStoreViewModelV2<Analytics
class AnalyticsSettingsScreenViewModel: AnalyticsSettingsScreenViewModelType, AnalyticsSettingsScreenViewModelProtocol {
private let analytics: AnalyticsServiceProtocol
init(appSettings: AppSettings, analytics: AnalyticsServiceProtocol) {
init(userSettings: UserSettings, analytics: AnalyticsServiceProtocol) {
self.analytics = analytics
let strings = AnalyticsSettingsScreenStrings(termsURL: appSettings.analyticsTermsURL)
let strings = AnalyticsSettingsScreenStrings(termsURL: userSettings.analyticsTermsURL)
let bindings = AnalyticsSettingsScreenViewStateBindings(enableAnalytics: analytics.isEnabled)
let state = AnalyticsSettingsScreenViewState(strings: strings, bindings: bindings)
super.init(initialViewState: state)
appSettings.analyticsConsentStatePublisher
userSettings.analyticsConsentStatePublisher
.map { $0 == .optedIn }
.weakAssign(to: \.state.bindings.enableAnalytics, on: self)
.store(in: &cancellables)
@@ -39,8 +39,8 @@ struct AnalyticsSettingsScreen: View {
struct AnalyticsSettingsScreen_Previews: PreviewProvider, TestablePreview {
static var previews: some View {
let appSettings = AppSettings.volatile()
let viewModel = AnalyticsSettingsScreenViewModel(appSettings: appSettings,
let userSettings = UserSettings.volatile()
let viewModel = AnalyticsSettingsScreenViewModel(userSettings: userSettings,
analytics: AnalyticsServiceMock(.init()))
AnalyticsSettingsScreen(context: viewModel.context)
}