deep-linking-sample/Apps/Wikipedia/WMF Framework/Remote Notifications/RemoteNotificationsRefreshDeadlineController.swift

24 lines
540 B
Swift

import Foundation
final class RemoteNotificationsRefreshDeadlineController {
private let deadline: TimeInterval = 30 // 30 seconds
private var now: CFAbsoluteTime {
return CFAbsoluteTimeGetCurrent()
}
public var shouldRefresh: Bool {
guard let lastRefreshTime = lastRefreshTime else {
return true
}
return now - lastRefreshTime > deadline
}
private var lastRefreshTime: CFAbsoluteTime?
public func reset() {
lastRefreshTime = now
}
}