2018-07-02 12:37:44 +00:00
|
|
|
/*
|
|
|
|
Copyright 2018 New Vector Ltd
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
import Foundation
|
|
|
|
|
2018-07-02 14:49:36 +00:00
|
|
|
/// Store Riot specific app settings.
|
2018-07-02 12:37:44 +00:00
|
|
|
@objcMembers
|
|
|
|
final class RiotSettings: NSObject {
|
|
|
|
|
|
|
|
// MARK: - Constants
|
|
|
|
|
2021-09-23 13:55:00 +00:00
|
|
|
public enum UserDefaultsKeys {
|
2018-07-02 12:37:44 +00:00
|
|
|
static let enableCrashReport = "enableCrashReport"
|
|
|
|
static let notificationsShowDecryptedContent = "showDecryptedContent"
|
2019-08-28 15:04:49 +00:00
|
|
|
static let allowStunServerFallback = "allowStunServerFallback"
|
2021-09-23 13:55:00 +00:00
|
|
|
static let pinRoomsWithMissedNotificationsOnHome = "pinRoomsWithMissedNotif"
|
|
|
|
static let pinRoomsWithUnreadMessagesOnHome = "pinRoomsWithUnread"
|
2018-07-02 12:37:44 +00:00
|
|
|
}
|
2020-04-08 10:31:13 +00:00
|
|
|
|
2018-07-02 12:37:44 +00:00
|
|
|
static let shared = RiotSettings()
|
|
|
|
|
2020-05-22 11:27:30 +00:00
|
|
|
/// UserDefaults to be used on reads and writes.
|
2021-08-25 14:09:40 +00:00
|
|
|
static var defaults: UserDefaults = {
|
2020-09-01 09:57:30 +00:00
|
|
|
guard let userDefaults = UserDefaults(suiteName: BuildSettings.applicationGroupIdentifier) else {
|
|
|
|
fatalError("[RiotSettings] Fail to load shared UserDefaults")
|
|
|
|
}
|
|
|
|
return userDefaults
|
2020-05-22 11:27:30 +00:00
|
|
|
}()
|
|
|
|
|
2021-07-16 13:57:29 +00:00
|
|
|
private override init() {
|
|
|
|
super.init()
|
|
|
|
}
|
|
|
|
|
2020-05-22 11:27:30 +00:00
|
|
|
/// Indicate if UserDefaults suite has been migrated once.
|
|
|
|
var isUserDefaultsMigrated: Bool {
|
2021-08-25 14:09:40 +00:00
|
|
|
return RiotSettings.defaults.object(forKey: UserDefaultsKeys.notificationsShowDecryptedContent) != nil
|
2020-05-22 11:27:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func migrate() {
|
|
|
|
// read all values from standard
|
|
|
|
let dictionary = UserDefaults.standard.dictionaryRepresentation()
|
|
|
|
|
|
|
|
// write values to suite
|
|
|
|
// remove redundant values from standard
|
|
|
|
for (key, value) in dictionary {
|
2021-08-25 14:09:40 +00:00
|
|
|
RiotSettings.defaults.set(value, forKey: key)
|
2020-05-22 11:27:30 +00:00
|
|
|
UserDefaults.standard.removeObject(forKey: key)
|
|
|
|
}
|
2018-07-03 08:31:14 +00:00
|
|
|
}
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
// MARK: Servers
|
|
|
|
|
|
|
|
@UserDefault(key: "homeserverurl", defaultValue: BuildSettings.serverConfigDefaultHomeserverUrlString, storage: defaults)
|
|
|
|
var homeserverUrlString
|
|
|
|
|
|
|
|
@UserDefault(key: "identityserverurl", defaultValue: BuildSettings.serverConfigDefaultIdentityServerUrlString, storage: defaults)
|
|
|
|
var identityServerUrlString
|
|
|
|
|
|
|
|
// MARK: Notifications
|
|
|
|
|
|
|
|
/// Indicate if `showDecryptedContentInNotifications` settings has been set once.
|
|
|
|
var isShowDecryptedContentInNotificationsHasBeenSetOnce: Bool {
|
|
|
|
return RiotSettings.defaults.object(forKey: UserDefaultsKeys.notificationsShowDecryptedContent) != nil
|
2018-07-02 12:37:44 +00:00
|
|
|
}
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
/// Indicate if encrypted messages content should be displayed in notifications.
|
|
|
|
@UserDefault(key: UserDefaultsKeys.notificationsShowDecryptedContent, defaultValue: false, storage: defaults)
|
|
|
|
var showDecryptedContentInNotifications
|
|
|
|
|
2018-07-02 14:49:36 +00:00
|
|
|
/// Indicate if rooms with missed notifications should be displayed first on home screen.
|
2021-09-23 13:55:00 +00:00
|
|
|
@UserDefault(key: UserDefaultsKeys.pinRoomsWithMissedNotificationsOnHome, defaultValue: false, storage: defaults)
|
2021-08-25 14:09:40 +00:00
|
|
|
var pinRoomsWithMissedNotificationsOnHome
|
2018-07-02 12:37:44 +00:00
|
|
|
|
2018-07-02 14:49:36 +00:00
|
|
|
/// Indicate if rooms with unread messages should be displayed first on home screen.
|
2021-09-23 13:55:00 +00:00
|
|
|
@UserDefault(key: UserDefaultsKeys.pinRoomsWithUnreadMessagesOnHome, defaultValue: false, storage: defaults)
|
2021-08-25 14:09:40 +00:00
|
|
|
var pinRoomsWithUnreadMessagesOnHome
|
2018-07-02 12:37:44 +00:00
|
|
|
|
2021-03-03 15:32:05 +00:00
|
|
|
/// Indicate to show Not Safe For Work public rooms.
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "showNSFWPublicRooms", defaultValue: false, storage: defaults)
|
|
|
|
var showNSFWPublicRooms
|
2021-03-03 15:32:05 +00:00
|
|
|
|
2018-07-02 12:37:44 +00:00
|
|
|
// MARK: User interface
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault<String?>(key: "userInterfaceTheme", defaultValue: nil, storage: defaults)
|
|
|
|
var userInterfaceTheme
|
2018-07-02 12:37:44 +00:00
|
|
|
|
|
|
|
// MARK: Other
|
|
|
|
|
2018-07-02 14:49:36 +00:00
|
|
|
/// Indicate if `enableCrashReport` settings has been set once.
|
|
|
|
var isEnableCrashReportHasBeenSetOnce: Bool {
|
2021-08-25 14:09:40 +00:00
|
|
|
return RiotSettings.defaults.object(forKey: UserDefaultsKeys.enableCrashReport) != nil
|
2018-07-02 14:49:36 +00:00
|
|
|
}
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: UserDefaultsKeys.enableCrashReport, defaultValue: false, storage: defaults)
|
|
|
|
var enableCrashReport
|
2018-07-02 12:37:44 +00:00
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "enableRageShake", defaultValue: false, storage: defaults)
|
|
|
|
var enableRageShake
|
2018-07-02 12:37:44 +00:00
|
|
|
|
|
|
|
// MARK: Labs
|
|
|
|
|
2021-04-09 11:54:03 +00:00
|
|
|
/// Indicates if CallKit ringing is enabled for group calls. This setting does not disable the CallKit integration for group calls, only relates to ringing.
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "enableRingingForGroupCalls", defaultValue: false, storage: defaults)
|
|
|
|
var enableRingingForGroupCalls
|
2021-04-09 11:54:03 +00:00
|
|
|
|
2019-08-28 15:04:49 +00:00
|
|
|
// MARK: Calls
|
2021-08-25 14:09:40 +00:00
|
|
|
|
2019-08-28 15:04:49 +00:00
|
|
|
/// Indicate if `allowStunServerFallback` settings has been set once.
|
|
|
|
var isAllowStunServerFallbackHasBeenSetOnce: Bool {
|
2021-08-25 14:09:40 +00:00
|
|
|
return RiotSettings.defaults.object(forKey: UserDefaultsKeys.allowStunServerFallback) != nil
|
2019-08-28 15:04:49 +00:00
|
|
|
}
|
2020-04-30 13:28:43 +00:00
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: UserDefaultsKeys.allowStunServerFallback, defaultValue: false, storage: defaults)
|
|
|
|
var allowStunServerFallback
|
|
|
|
|
2020-04-30 13:28:43 +00:00
|
|
|
// MARK: Key verification
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "hideVerifyThisSessionAlert", defaultValue: false, storage: defaults)
|
|
|
|
var hideVerifyThisSessionAlert
|
2020-05-04 17:59:11 +00:00
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "hideReviewSessionsAlert", defaultValue: false, storage: defaults)
|
|
|
|
var hideReviewSessionsAlert
|
2020-07-30 11:52:07 +00:00
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "matrixApps", defaultValue: false, storage: defaults)
|
|
|
|
var matrixApps
|
2021-03-31 17:04:00 +00:00
|
|
|
|
2021-04-13 17:21:07 +00:00
|
|
|
// MARK: - Rooms Screen
|
2021-04-20 13:05:20 +00:00
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "roomsAllowToJoinPublicRooms", defaultValue: BuildSettings.roomsAllowToJoinPublicRooms, storage: defaults)
|
|
|
|
var roomsAllowToJoinPublicRooms
|
|
|
|
|
2021-04-19 18:39:07 +00:00
|
|
|
// MARK: - Room Screen
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "roomScreenAllowVoIPForDirectRoom", defaultValue: BuildSettings.roomScreenAllowVoIPForDirectRoom, storage: defaults)
|
|
|
|
var roomScreenAllowVoIPForDirectRoom
|
|
|
|
|
|
|
|
@UserDefault(key: "roomScreenAllowVoIPForNonDirectRoom", defaultValue: BuildSettings.roomScreenAllowVoIPForNonDirectRoom, storage: defaults)
|
|
|
|
var roomScreenAllowVoIPForNonDirectRoom
|
|
|
|
|
|
|
|
@UserDefault(key: "roomScreenAllowCameraAction", defaultValue: BuildSettings.roomScreenAllowCameraAction, storage: defaults)
|
|
|
|
var roomScreenAllowCameraAction
|
|
|
|
|
|
|
|
@UserDefault(key: "roomScreenAllowMediaLibraryAction", defaultValue: BuildSettings.roomScreenAllowMediaLibraryAction, storage: defaults)
|
|
|
|
var roomScreenAllowMediaLibraryAction
|
|
|
|
|
|
|
|
@UserDefault(key: "roomScreenAllowStickerAction", defaultValue: BuildSettings.roomScreenAllowStickerAction, storage: defaults)
|
|
|
|
var roomScreenAllowStickerAction
|
|
|
|
|
|
|
|
@UserDefault(key: "roomScreenAllowFilesAction", defaultValue: BuildSettings.roomScreenAllowFilesAction, storage: defaults)
|
|
|
|
var roomScreenAllowFilesAction
|
2021-04-29 15:03:34 +00:00
|
|
|
|
2021-09-16 16:51:56 +00:00
|
|
|
@UserDefault(key: "roomScreenShowsURLPreviews", defaultValue: true, storage: defaults)
|
2021-09-03 09:19:26 +00:00
|
|
|
var roomScreenShowsURLPreviews
|
|
|
|
|
2021-04-29 15:03:34 +00:00
|
|
|
// MARK: - Room Contextual Menu
|
2021-08-25 14:09:40 +00:00
|
|
|
|
|
|
|
@UserDefault(key: "roomContextualMenuShowMoreOptionForMessages", defaultValue: BuildSettings.roomContextualMenuShowMoreOptionForMessages, storage: defaults)
|
|
|
|
var roomContextualMenuShowMoreOptionForMessages
|
|
|
|
|
|
|
|
@UserDefault(key: "roomContextualMenuShowMoreOptionForStates", defaultValue: BuildSettings.roomContextualMenuShowMoreOptionForStates, storage: defaults)
|
|
|
|
var roomContextualMenuShowMoreOptionForStates
|
|
|
|
|
|
|
|
@UserDefault(key: "roomContextualMenuShowReportContentOption", defaultValue: BuildSettings.roomContextualMenuShowReportContentOption, storage: defaults)
|
|
|
|
var roomContextualMenuShowReportContentOption
|
|
|
|
|
2021-04-20 12:54:53 +00:00
|
|
|
// MARK: - Room Info Screen
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "roomInfoScreenShowIntegrations", defaultValue: BuildSettings.roomInfoScreenShowIntegrations, storage: defaults)
|
|
|
|
var roomInfoScreenShowIntegrations
|
|
|
|
|
2021-04-29 13:38:19 +00:00
|
|
|
// MARK: - Room Member Screen
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "roomMemberScreenShowIgnore", defaultValue: BuildSettings.roomMemberScreenShowIgnore, storage: defaults)
|
|
|
|
var roomMemberScreenShowIgnore
|
|
|
|
|
2021-04-02 13:54:21 +00:00
|
|
|
// MARK: - Room Creation Screen
|
2021-08-25 14:09:40 +00:00
|
|
|
|
|
|
|
@UserDefault(key: "roomCreationScreenAllowEncryptionConfiguration", defaultValue: BuildSettings.roomCreationScreenAllowEncryptionConfiguration, storage: defaults)
|
|
|
|
var roomCreationScreenAllowEncryptionConfiguration
|
|
|
|
|
|
|
|
@UserDefault(key: "roomCreationScreenRoomIsEncrypted", defaultValue: BuildSettings.roomCreationScreenRoomIsEncrypted, storage: defaults)
|
|
|
|
var roomCreationScreenRoomIsEncrypted
|
|
|
|
|
|
|
|
@UserDefault(key: "roomCreationScreenAllowRoomTypeConfiguration", defaultValue: BuildSettings.roomCreationScreenAllowRoomTypeConfiguration, storage: defaults)
|
|
|
|
var roomCreationScreenAllowRoomTypeConfiguration
|
|
|
|
|
|
|
|
@UserDefault(key: "roomCreationScreenRoomIsPublic", defaultValue: BuildSettings.roomCreationScreenRoomIsPublic, storage: defaults)
|
|
|
|
var roomCreationScreenRoomIsPublic
|
|
|
|
|
2021-04-01 13:02:43 +00:00
|
|
|
// MARK: Features
|
2021-08-25 14:09:40 +00:00
|
|
|
|
|
|
|
@UserDefault(key: "allowInviteExernalUsers", defaultValue: BuildSettings.allowInviteExernalUsers, storage: defaults)
|
|
|
|
var allowInviteExernalUsers
|
2021-04-19 16:53:32 +00:00
|
|
|
|
2021-08-23 10:16:32 +00:00
|
|
|
/// When set to false the original image is sent and a 1080p preset is used for videos.
|
|
|
|
/// If `BuildSettings.roomInputToolbarCompressionMode` has a value other than prompt, the build setting takes priority for images.
|
2021-09-06 16:08:23 +00:00
|
|
|
@UserDefault(key: "showMediaCompressionPrompt", defaultValue: false, storage: defaults)
|
|
|
|
var showMediaCompressionPrompt
|
2021-08-16 16:48:26 +00:00
|
|
|
|
2021-04-19 16:53:32 +00:00
|
|
|
// MARK: - Main Tabs
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "homeScreenShowFavouritesTab", defaultValue: BuildSettings.homeScreenShowFavouritesTab, storage: defaults)
|
|
|
|
var homeScreenShowFavouritesTab
|
|
|
|
|
|
|
|
@UserDefault(key: "homeScreenShowPeopleTab", defaultValue: BuildSettings.homeScreenShowPeopleTab, storage: defaults)
|
|
|
|
var homeScreenShowPeopleTab
|
|
|
|
|
|
|
|
@UserDefault(key: "homeScreenShowRoomsTab", defaultValue: BuildSettings.homeScreenShowRoomsTab, storage: defaults)
|
|
|
|
var homeScreenShowRoomsTab
|
|
|
|
|
|
|
|
@UserDefault(key: "homeScreenShowCommunitiesTab", defaultValue: BuildSettings.homeScreenShowCommunitiesTab, storage: defaults)
|
|
|
|
var homeScreenShowCommunitiesTab
|
|
|
|
|
2021-04-01 12:16:06 +00:00
|
|
|
// MARK: General Settings
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "settingsScreenShowChangePassword", defaultValue: BuildSettings.settingsScreenShowChangePassword, storage: defaults)
|
|
|
|
var settingsScreenShowChangePassword
|
|
|
|
|
|
|
|
@UserDefault(key: "settingsScreenShowInviteFriends", defaultValue: BuildSettings.settingsScreenShowInviteFriends, storage: defaults)
|
|
|
|
var settingsScreenShowInviteFriends
|
|
|
|
|
|
|
|
@UserDefault(key: "settingsScreenShowEnableStunServerFallback", defaultValue: BuildSettings.settingsScreenShowEnableStunServerFallback, storage: defaults)
|
|
|
|
var settingsScreenShowEnableStunServerFallback
|
|
|
|
|
|
|
|
@UserDefault(key: "settingsScreenShowNotificationDecodedContentOption", defaultValue: BuildSettings.settingsScreenShowNotificationDecodedContentOption, storage: defaults)
|
|
|
|
var settingsScreenShowNotificationDecodedContentOption
|
|
|
|
|
|
|
|
@UserDefault(key: "settingsScreenShowNsfwRoomsOption", defaultValue: BuildSettings.settingsScreenShowNsfwRoomsOption, storage: defaults)
|
|
|
|
var settingsScreenShowNsfwRoomsOption
|
|
|
|
|
|
|
|
@UserDefault(key: "settingsSecurityScreenShowSessions", defaultValue: BuildSettings.settingsSecurityScreenShowSessions, storage: defaults)
|
|
|
|
var settingsSecurityScreenShowSessions
|
|
|
|
|
|
|
|
@UserDefault(key: "settingsSecurityScreenShowSetupBackup", defaultValue: BuildSettings.settingsSecurityScreenShowSetupBackup, storage: defaults)
|
|
|
|
var settingsSecurityScreenShowSetupBackup
|
|
|
|
|
|
|
|
@UserDefault(key: "settingsSecurityScreenShowRestoreBackup", defaultValue: BuildSettings.settingsSecurityScreenShowRestoreBackup, storage: defaults)
|
|
|
|
var settingsSecurityScreenShowRestoreBackup
|
|
|
|
|
|
|
|
@UserDefault(key: "settingsSecurityScreenShowDeleteBackup", defaultValue: BuildSettings.settingsSecurityScreenShowDeleteBackup, storage: defaults)
|
|
|
|
var settingsSecurityScreenShowDeleteBackup
|
|
|
|
|
|
|
|
@UserDefault(key: "settingsSecurityScreenShowCryptographyInfo", defaultValue: BuildSettings.settingsSecurityScreenShowCryptographyInfo, storage: defaults)
|
|
|
|
var settingsSecurityScreenShowCryptographyInfo
|
|
|
|
|
|
|
|
@UserDefault(key: "settingsSecurityScreenShowCryptographyExport", defaultValue: BuildSettings.settingsSecurityScreenShowCryptographyExport, storage: defaults)
|
|
|
|
var settingsSecurityScreenShowCryptographyExport
|
|
|
|
|
|
|
|
@UserDefault(key: "settingsSecurityScreenShowAdvancedBlacklistUnverifiedDevices", defaultValue: BuildSettings.settingsSecurityScreenShowAdvancedUnverifiedDevices, storage: defaults)
|
|
|
|
var settingsSecurityScreenShowAdvancedUnverifiedDevices
|
2021-04-14 13:52:25 +00:00
|
|
|
|
|
|
|
// MARK: - Room Settings Screen
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "roomSettingsScreenShowLowPriorityOption", defaultValue: BuildSettings.roomSettingsScreenShowLowPriorityOption, storage: defaults)
|
|
|
|
var roomSettingsScreenShowLowPriorityOption
|
|
|
|
|
|
|
|
@UserDefault(key: "roomSettingsScreenShowDirectChatOption", defaultValue: BuildSettings.roomSettingsScreenShowDirectChatOption, storage: defaults)
|
|
|
|
var roomSettingsScreenShowDirectChatOption
|
|
|
|
|
|
|
|
@UserDefault(key: "roomSettingsScreenAllowChangingAccessSettings", defaultValue: BuildSettings.roomSettingsScreenAllowChangingAccessSettings, storage: defaults)
|
|
|
|
var roomSettingsScreenAllowChangingAccessSettings
|
|
|
|
|
|
|
|
@UserDefault(key: "roomSettingsScreenAllowChangingHistorySettings", defaultValue: BuildSettings.roomSettingsScreenAllowChangingHistorySettings, storage: defaults)
|
|
|
|
var roomSettingsScreenAllowChangingHistorySettings
|
|
|
|
|
|
|
|
@UserDefault(key: "roomSettingsScreenShowAddressSettings", defaultValue: BuildSettings.roomSettingsScreenShowAddressSettings, storage: defaults)
|
|
|
|
var roomSettingsScreenShowAddressSettings
|
|
|
|
|
|
|
|
@UserDefault(key: "roomSettingsScreenShowFlairSettings", defaultValue: BuildSettings.roomSettingsScreenShowFlairSettings, storage: defaults)
|
|
|
|
var roomSettingsScreenShowFlairSettings
|
|
|
|
|
|
|
|
@UserDefault(key: "roomSettingsScreenShowAdvancedSettings", defaultValue: BuildSettings.roomSettingsScreenShowAdvancedSettings, storage: defaults)
|
|
|
|
var roomSettingsScreenShowAdvancedSettings
|
|
|
|
|
|
|
|
@UserDefault(key: "roomSettingsScreenAdvancedShowEncryptToVerifiedOption", defaultValue: BuildSettings.roomSettingsScreenAdvancedShowEncryptToVerifiedOption, storage: defaults)
|
|
|
|
var roomSettingsScreenAdvancedShowEncryptToVerifiedOption
|
|
|
|
|
2021-07-12 20:51:56 +00:00
|
|
|
// MARK: - Unified Search
|
2021-04-20 08:31:04 +00:00
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "unifiedSearchScreenShowPublicDirectory", defaultValue: BuildSettings.unifiedSearchScreenShowPublicDirectory, storage: defaults)
|
|
|
|
var unifiedSearchScreenShowPublicDirectory
|
2021-04-20 08:31:04 +00:00
|
|
|
|
2021-07-12 20:51:56 +00:00
|
|
|
// MARK: - Secrets Recovery
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "secretsRecoveryAllowReset", defaultValue: BuildSettings.secretsRecoveryAllowReset, storage: defaults)
|
|
|
|
var secretsRecoveryAllowReset
|
2021-07-12 20:51:56 +00:00
|
|
|
|
2021-05-06 10:09:12 +00:00
|
|
|
// MARK: - Beta
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "hideSpaceBetaAnnounce", defaultValue: false, storage: defaults)
|
|
|
|
var hideSpaceBetaAnnounce
|
2021-08-25 10:26:45 +00:00
|
|
|
|
|
|
|
// MARK: - Version check
|
|
|
|
|
2021-08-25 14:09:40 +00:00
|
|
|
@UserDefault(key: "versionCheckNextDisplayDateTimeInterval", defaultValue: 0.0, storage: defaults)
|
|
|
|
var versionCheckNextDisplayDateTimeInterval
|
2018-07-02 12:37:44 +00:00
|
|
|
}
|