CalendarTask.swift 720 B

12345678910111213141516171819202122232425
  1. // LoopFollow
  2. // CalendarTask.swift
  3. import Foundation
  4. extension MainViewController {
  5. func scheduleCalendarTask(initialDelay: TimeInterval = 15) {
  6. let startTime = Date().addingTimeInterval(initialDelay)
  7. TaskScheduler.shared.scheduleTask(id: .calendarWrite, nextRun: startTime) { [weak self] in
  8. guard let self = self else { return }
  9. self.calendarTaskAction()
  10. }
  11. }
  12. func calendarTaskAction() {
  13. if Storage.shared.writeCalendarEvent.value,
  14. !Storage.shared.calendarIdentifier.value.isEmpty
  15. {
  16. writeCalendar()
  17. }
  18. TaskScheduler.shared.rescheduleTask(id: .calendarWrite, to: Date().addingTimeInterval(30))
  19. }
  20. }