UpdateSputnik // Make certain variables into constants.

This commit is contained in:
ShikiSuen 2023-02-06 12:09:57 +08:00
parent ad1a96160b
commit c0d6aab456
1 changed files with 11 additions and 11 deletions

View File

@ -9,12 +9,12 @@
import Cocoa import Cocoa
public class UpdateSputnik { public class UpdateSputnik {
public static var shared: UpdateSputnik = .init() public static let shared: UpdateSputnik = .init()
public var varkUpdateInfoPageURLKey: String = "UpdateInfoSite" public let kUpdateInfoPageURLKey: String = "UpdateInfoSite"
public var varkUpdateCheckDateKeyPrevious: String = "PreviousUpdateCheckDate" public let kUpdateCheckDateKeyPrevious: String = "PreviousUpdateCheckDate"
public var varkUpdateCheckDateKeyNext: String = "NextUpdateCheckDate" public let kUpdateCheckDateKeyNext: String = "NextUpdateCheckDate"
public var varkUpdateCheckInterval: TimeInterval = 114_514 public let kUpdateCheckInterval: TimeInterval = 114_514
public var varCheckUpdateAutomatically = "CheckUpdateAutomatically" public let kCheckUpdateAutomatically = "CheckUpdateAutomatically"
public init() {} public init() {}
@ -22,7 +22,7 @@ public class UpdateSputnik {
guard !busy else { return } guard !busy else { return }
if !forced { if !forced {
if !UserDefaults.standard.bool(forKey: varCheckUpdateAutomatically) { return } if !UserDefaults.standard.bool(forKey: kCheckUpdateAutomatically) { return }
if let nextCheckDate = nextUpdateCheckDate, Date().compare(nextCheckDate) == .orderedAscending { if let nextCheckDate = nextUpdateCheckDate, Date().compare(nextCheckDate) == .orderedAscending {
return return
} }
@ -66,10 +66,10 @@ public class UpdateSputnik {
private var nextUpdateCheckDate: Date? { private var nextUpdateCheckDate: Date? {
get { get {
UserDefaults.standard.object(forKey: varkUpdateCheckDateKeyNext) as? Date UserDefaults.standard.object(forKey: kUpdateCheckDateKeyNext) as? Date
} }
set { set {
UserDefaults.standard.set(newValue, forKey: varkUpdateCheckDateKeyNext) UserDefaults.standard.set(newValue, forKey: kUpdateCheckDateKeyNext)
} }
} }
@ -78,7 +78,7 @@ public class UpdateSputnik {
internal func dataDidSet(data: Data) { internal func dataDidSet(data: Data) {
var plist: [AnyHashable: Any]? var plist: [AnyHashable: Any]?
plist = try? PropertyListSerialization.propertyList(from: data, options: [], format: nil) as? [AnyHashable: Any] plist = try? PropertyListSerialization.propertyList(from: data, options: [], format: nil) as? [AnyHashable: Any]
nextUpdateCheckDate = .init().addingTimeInterval(varkUpdateCheckInterval) nextUpdateCheckDate = .init().addingTimeInterval(kUpdateCheckInterval)
cleanUp() cleanUp()
guard let plist = plist else { guard let plist = plist else {
@ -134,7 +134,7 @@ public class UpdateSputnik {
let result = alert.runModal() let result = alert.runModal()
NSApp.activate(ignoringOtherApps: true) NSApp.activate(ignoringOtherApps: true)
if result == NSApplication.ModalResponse.alertFirstButtonReturn { if result == NSApplication.ModalResponse.alertFirstButtonReturn {
if let siteInfoURLString = plist[varkUpdateInfoPageURLKey] as? String, if let siteInfoURLString = plist[kUpdateInfoPageURLKey] as? String,
let siteURL = URL(string: siteInfoURLString) let siteURL = URL(string: siteInfoURLString)
{ {
DispatchQueue.main.async { DispatchQueue.main.async {