AlarmTask.swift 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //
  2. // AlarmTask.swift
  3. // LoopFollow
  4. //
  5. // Created by Jonas Björkert on 2025-01-12.
  6. // Copyright © 2025 Jon Fawcett. All rights reserved.
  7. //
  8. import Foundation
  9. extension MainViewController {
  10. func scheduleAlarmTask(initialDelay: TimeInterval = 30) {
  11. let firstRun = Date().addingTimeInterval(initialDelay)
  12. TaskScheduler.shared.scheduleTask(id: .alarmCheck, nextRun: firstRun) { [weak self] in
  13. guard let self = self else { return }
  14. self.alarmTaskAction()
  15. }
  16. }
  17. func alarmTaskAction() {
  18. DispatchQueue.main.async {
  19. let alarmData = AlarmData(
  20. expireDate: Storage.shared.expirationDate.value
  21. )
  22. LogManager.shared.log(category: .alarm, message: "Checking alarms based on \(alarmData)", isDebug: true)
  23. AlarmManager.shared.checkAlarms(data: alarmData)
  24. /*
  25. if self.bgData.count > 0 {
  26. self.checkAlarms(bgs: self.bgData)
  27. }
  28. if self.overrideGraphData.count > 0 {
  29. self.checkOverrideAlarms()
  30. }
  31. if self.tempTargetGraphData.count > 0 {
  32. self.checkTempTargetAlarms()
  33. }*/
  34. TaskScheduler.shared.rescheduleTask(id: .alarmCheck, to: Date().addingTimeInterval(30))
  35. }
  36. }
  37. }