mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2025-08-07 12:00:09 +02:00
49 lines
1.3 KiB
Swift
49 lines
1.3 KiB
Swift
//
|
|
// Preferences.swift
|
|
// PHP Monitor
|
|
//
|
|
// Created by Nico Verbruggen on 30/03/2021.
|
|
// Copyright © 2021 Nico Verbruggen. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
enum PreferenceName: String {
|
|
case shouldDisplayDynamicIcon = "use_dynamic_icon"
|
|
}
|
|
|
|
class Preferences {
|
|
|
|
static func handleFirstTimeLaunch() {
|
|
let launchedBefore = UserDefaults.standard.bool(forKey: "alreadyLaunched")
|
|
|
|
if launchedBefore {
|
|
return
|
|
}
|
|
|
|
UserDefaults.standard.setValue(true, forKey: PreferenceName.shouldDisplayDynamicIcon.rawValue)
|
|
UserDefaults.standard.setValue(true, forKey: "alreadyLaunched")
|
|
UserDefaults.standard.synchronize()
|
|
}
|
|
|
|
static func retrieve() -> [PreferenceName: Bool] {
|
|
Preferences.handleFirstTimeLaunch()
|
|
|
|
return [
|
|
.shouldDisplayDynamicIcon: UserDefaults.standard.bool(
|
|
forKey: PreferenceName.shouldDisplayDynamicIcon.rawValue
|
|
)
|
|
]
|
|
}
|
|
|
|
static var preferences: [PreferenceName: Bool] {
|
|
return Preferences.retrieve()
|
|
}
|
|
|
|
static func update(_ preference: PreferenceName, value: Bool) {
|
|
UserDefaults.standard.setValue(value, forKey: preference.rawValue)
|
|
UserDefaults.standard.synchronize()
|
|
}
|
|
|
|
}
|