LiveActivitySettingsStateModel.swift 787 B

123456789101112131415161718192021222324
  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. override func subscribe() {
  10. units = settingsManager.settings.units
  11. subscribeSetting(\.useLiveActivity, on: $useLiveActivity) { useLiveActivity = $0 }
  12. subscribeSetting(\.lockScreenView, on: $lockScreenView) { lockScreenView = $0 }
  13. }
  14. }
  15. }
  16. extension LiveActivitySettings.StateModel: SettingsObserver {
  17. func settingsDidChange(_: FreeAPSSettings) {
  18. units = settingsManager.settings.units
  19. }
  20. }