| 123456789101112131415161718192021222324252627282930313233343536373839 |
- // LoopFollow
- // LALivenessStore.swift
- import Foundation
- enum LALivenessStore {
- private static let defaults = UserDefaults(suiteName: AppGroupID.baseBundleID)
- private enum Key {
- static let lastExtensionSeenAt = "la.liveness.lastExtensionSeenAt"
- static let lastExtensionSeq = "la.liveness.lastExtensionSeq"
- static let lastExtensionProducedAt = "la.liveness.lastExtensionProducedAt"
- }
- static func markExtensionRender(seq: Int, producedAt: Date) {
- defaults?.set(Date().timeIntervalSince1970, forKey: Key.lastExtensionSeenAt)
- defaults?.set(seq, forKey: Key.lastExtensionSeq)
- defaults?.set(producedAt.timeIntervalSince1970, forKey: Key.lastExtensionProducedAt)
- }
- static var lastExtensionSeenAt: TimeInterval {
- defaults?.double(forKey: Key.lastExtensionSeenAt) ?? 0
- }
- static var lastExtensionSeq: Int {
- defaults?.integer(forKey: Key.lastExtensionSeq) ?? 0
- }
- static var lastExtensionProducedAt: TimeInterval {
- defaults?.double(forKey: Key.lastExtensionProducedAt) ?? 0
- }
- static func clear() {
- defaults?.removeObject(forKey: Key.lastExtensionSeenAt)
- defaults?.removeObject(forKey: Key.lastExtensionSeq)
- defaults?.removeObject(forKey: Key.lastExtensionProducedAt)
- }
- }
|