LiveActivitySettingsStateModel.swift 940 B

1234567891011121314151617181920212223242526
  1. import Combine
  2. import SwiftUI
  3. extension LiveActivitySettings {
  4. final class StateModel: BaseStateModel<Provider> {
  5. @Injected() var storage: FileStorage!
  6. @Published var units: GlucoseUnits = .mgdL
  7. @Published var useLiveActivity = false
  8. @Published var lockScreenView: LockScreenView = .simple
  9. @Published var smartStackView: LockScreenView = .simple
  10. override func subscribe() {
  11. units = settingsManager.settings.units
  12. subscribeSetting(\.useLiveActivity, on: $useLiveActivity) { useLiveActivity = $0 }
  13. subscribeSetting(\.lockScreenView, on: $lockScreenView) { lockScreenView = $0 }
  14. subscribeSetting(\.smartStackView, on: $smartStackView) { smartStackView = $0 }
  15. }
  16. }
  17. }
  18. extension LiveActivitySettings.StateModel: SettingsObserver {
  19. func settingsDidChange(_: TrioSettings) {
  20. units = settingsManager.settings.units
  21. }
  22. }