| 123456789101112131415161718192021222324252627282930313233343536 |
- //
- // AlarmTask.swift
- // LoopFollow
- //
- // Created by Jonas Björkert on 2025-01-12.
- // Copyright © 2025 Jon Fawcett. All rights reserved.
- //
- import Foundation
- extension MainViewController {
- func scheduleAlarmTask(initialDelay: TimeInterval = 30) {
- let firstRun = Date().addingTimeInterval(initialDelay)
- TaskScheduler.shared.scheduleTask(id: .alarmCheck, nextRun: firstRun) { [weak self] in
- guard let self = self else { return }
- self.alarmTaskAction()
- }
- }
- func alarmTaskAction() {
- DispatchQueue.main.async {
- if self.bgData.count > 0 {
- self.checkAlarms(bgs: self.bgData)
- }
- if self.overrideGraphData.count > 0 {
- self.checkOverrideAlarms()
- }
- if self.tempTargetGraphData.count > 0 {
- self.checkTempTargetAlarms()
- }
- TaskScheduler.shared.rescheduleTask(id: .alarmCheck, to: Date().addingTimeInterval(30))
- }
- }
- }
|