AlarmConfiguration.swift 884 B

1234567891011121314151617181920212223242526272829303132333435
  1. // LoopFollow
  2. // AlarmConfiguration.swift
  3. import Foundation
  4. struct AlarmConfiguration: Codable, Equatable {
  5. // MARK: Core
  6. var snoozeUntil: Date?
  7. var muteUntil: Date?
  8. var dayStart: TimeOfDay
  9. var nightStart: TimeOfDay
  10. // MARK: System audio overrides
  11. var overrideSystemOutputVolume: Bool
  12. var forcedOutputVolume: Float // 0 … 1
  13. var audioDuringCalls: Bool
  14. var ignoreZeroBG: Bool
  15. var autoSnoozeCGMStart: Bool
  16. var enableVolumeButtonSnooze: Bool
  17. static let `default` = AlarmConfiguration(
  18. muteUntil: nil,
  19. dayStart: TimeOfDay(hour: 6, minute: 0),
  20. nightStart: TimeOfDay(hour: 22, minute: 0),
  21. overrideSystemOutputVolume: true,
  22. forcedOutputVolume: 0.5,
  23. audioDuringCalls: true,
  24. ignoreZeroBG: true,
  25. autoSnoozeCGMStart: false,
  26. enableVolumeButtonSnooze: false
  27. )
  28. }