session-ios/SessionUtilitiesKit/LKUserDefaults.swift

60 lines
1.6 KiB
Swift
Raw Normal View History

2020-11-11 00:58:56 +01:00
import Foundation
public enum LKUserDefaults {
public enum Bool : Swift.String {
case hasLaunchedOnce
case hasSeenGIFMetadataWarning
case hasViewedSeed
case isUsingFullAPNs
2020-12-16 06:22:46 +01:00
case isMigratingToV2KeyPair
2020-11-11 00:58:56 +01:00
}
public enum Date : Swift.String {
case lastProfilePictureUpload
2020-12-14 00:20:10 +01:00
case lastKeyPairMigrationNudge
2020-11-11 00:58:56 +01:00
}
public enum Double : Swift.String {
case lastDeviceTokenUpload = "lastDeviceTokenUploadTime"
}
public enum Int: Swift.String {
case appMode
}
2020-11-16 00:34:47 +01:00
public enum String : Swift.String {
2020-11-11 00:58:56 +01:00
case deviceToken
2020-12-16 06:22:46 +01:00
/// Just used for migration purposes.
case displayName
2020-11-11 00:58:56 +01:00
}
}
public extension UserDefaults {
2020-11-16 00:34:47 +01:00
subscript(bool: LKUserDefaults.Bool) -> Bool {
2020-11-11 00:58:56 +01:00
get { return self.bool(forKey: bool.rawValue) }
set { set(newValue, forKey: bool.rawValue) }
}
2020-11-16 00:34:47 +01:00
subscript(date: LKUserDefaults.Date) -> Date? {
2020-11-11 00:58:56 +01:00
get { return self.object(forKey: date.rawValue) as? Date }
set { set(newValue, forKey: date.rawValue) }
}
2020-11-16 00:34:47 +01:00
subscript(double: LKUserDefaults.Double) -> Double {
2020-11-11 00:58:56 +01:00
get { return self.double(forKey: double.rawValue) }
set { set(newValue, forKey: double.rawValue) }
}
2020-11-16 00:34:47 +01:00
subscript(int: LKUserDefaults.Int) -> Int {
2020-11-11 00:58:56 +01:00
get { return self.integer(forKey: int.rawValue) }
set { set(newValue, forKey: int.rawValue) }
}
2020-11-16 00:34:47 +01:00
subscript(string: LKUserDefaults.String) -> String? {
get { return self.string(forKey: string.rawValue) }
set { set(newValue, forKey: string.rawValue) }
2020-11-11 00:58:56 +01:00
}
}