mirror of
https://github.com/FBukovina/Atoll.git
synced 2026-10-27 15:14:33 +00:00
Refactor: Remove redundant reminder EventKit calls
This commit is contained in:
parent
29b5111a86
commit
cc564717b2
1 changed files with 1 additions and 26 deletions
|
|
@ -43,7 +43,6 @@ final class ReminderLiveActivityManager: ObservableObject {
|
||||||
case eventStoreChange
|
case eventStoreChange
|
||||||
case calendarListChange
|
case calendarListChange
|
||||||
case calendarEventsUpdate
|
case calendarEventsUpdate
|
||||||
case fallback
|
|
||||||
case evaluation
|
case evaluation
|
||||||
case hover
|
case hover
|
||||||
case ticker
|
case ticker
|
||||||
|
|
@ -54,7 +53,6 @@ final class ReminderLiveActivityManager: ObservableObject {
|
||||||
private var cancellables = Set<AnyCancellable>()
|
private var cancellables = Set<AnyCancellable>()
|
||||||
private var tickerTask: Task<Void, Never>? { didSet { oldValue?.cancel() } }
|
private var tickerTask: Task<Void, Never>? { didSet { oldValue?.cancel() } }
|
||||||
private var evaluationTask: Task<Void, Never>?
|
private var evaluationTask: Task<Void, Never>?
|
||||||
private var fallbackRefreshTask: Task<Void, Never>?
|
|
||||||
private var refreshTask: Task<Void, Never>?
|
private var refreshTask: Task<Void, Never>?
|
||||||
private var pendingRefreshTask: Task<Void, Never>?
|
private var pendingRefreshTask: Task<Void, Never>?
|
||||||
private var pendingRefreshForce = false
|
private var pendingRefreshForce = false
|
||||||
|
|
@ -152,8 +150,6 @@ final class ReminderLiveActivityManager: ObservableObject {
|
||||||
tickerTask = nil
|
tickerTask = nil
|
||||||
evaluationTask?.cancel()
|
evaluationTask?.cancel()
|
||||||
evaluationTask = nil
|
evaluationTask = nil
|
||||||
fallbackRefreshTask?.cancel()
|
|
||||||
fallbackRefreshTask = nil
|
|
||||||
pendingRefreshTask?.cancel()
|
pendingRefreshTask?.cancel()
|
||||||
pendingRefreshTask = nil
|
pendingRefreshTask = nil
|
||||||
pendingRefreshForce = false
|
pendingRefreshForce = false
|
||||||
|
|
@ -230,22 +226,6 @@ final class ReminderLiveActivityManager: ObservableObject {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private func scheduleFallbackRefresh() {
|
|
||||||
fallbackRefreshTask?.cancel()
|
|
||||||
let delay: TimeInterval = 15 * 60
|
|
||||||
logger.debug("[Reminder] Scheduling fallback refresh in \(delay, format: .fixed(precision: 0))s")
|
|
||||||
fallbackRefreshTask = Task { [weak self] in
|
|
||||||
guard let self else { return }
|
|
||||||
do {
|
|
||||||
try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
|
|
||||||
} catch {
|
|
||||||
self.logger.debug("[Reminder] Cancelled pending fallback refresh before execution")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
await self.scheduleRefresh(force: true, reason: .fallback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private func scheduleRefresh(force: Bool, reason: RefreshReason = .other) {
|
private func scheduleRefresh(force: Bool, reason: RefreshReason = .other) {
|
||||||
let wasPending = pendingRefreshTask != nil
|
let wasPending = pendingRefreshTask != nil
|
||||||
pendingRefreshForce = pendingRefreshForce || force
|
pendingRefreshForce = pendingRefreshForce || force
|
||||||
|
|
@ -348,7 +328,6 @@ final class ReminderLiveActivityManager: ObservableObject {
|
||||||
}
|
}
|
||||||
|
|
||||||
private func handleEntrySelection(_ entry: ReminderEntry?, referenceDate: Date) {
|
private func handleEntrySelection(_ entry: ReminderEntry?, referenceDate: Date) {
|
||||||
fallbackRefreshTask?.cancel()
|
|
||||||
nextReminder = entry
|
nextReminder = entry
|
||||||
hasShownCriticalSneakPeek = false
|
hasShownCriticalSneakPeek = false
|
||||||
Task { await self.evaluateCurrentState(at: referenceDate) }
|
Task { await self.evaluateCurrentState(at: referenceDate) }
|
||||||
|
|
@ -368,8 +347,7 @@ final class ReminderLiveActivityManager: ObservableObject {
|
||||||
|
|
||||||
guard let first = upcoming.first else {
|
guard let first = upcoming.first else {
|
||||||
deactivateReminder()
|
deactivateReminder()
|
||||||
logger.debug("[Reminder] No upcoming reminders found; scheduling fallback refresh")
|
logger.debug("[Reminder] No upcoming reminders found; awaiting next calendar update")
|
||||||
scheduleFallbackRefresh()
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -468,9 +446,6 @@ final class ReminderLiveActivityManager: ObservableObject {
|
||||||
}
|
}
|
||||||
stopTicker()
|
stopTicker()
|
||||||
hasShownCriticalSneakPeek = false
|
hasShownCriticalSneakPeek = false
|
||||||
if fallbackRefreshTask == nil {
|
|
||||||
scheduleFallbackRefresh()
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue