mirror of
https://github.com/passepartoutvpn/passepartout-apple.git
synced 2025-01-27 02:52:26 +00:00
14b42fbea5
Move all persisted state out of AppManager to where it really belongs. To do that, inject a shared KeyValueStore object into managers that need to persist part of their state in a strongly typed manner. Below are persisted states: - PersistenceManager - persistenceAuthor - ProfileManager - activeProfileId - UpgradeManager (formerly AppManager) - didMigrateToV2 (migrate former value) - VPNManager - tunnelLogFormat - masksPrivateData A similar approach is used for app-specific preferences, by using a strongly typed enum (AppPreference) together with SwiftUI @AppStorage property wrapper. Worth moving logging logic into a specific LogManager. Finally, drop any former view dependency on AppManager, as states are now accessed through specific managers. |
||
---|---|---|
.. | ||
AppContext.swift | ||
AppPreference.swift | ||
Constants+Extensions.swift | ||
SwiftGen+Assets.swift | ||
SwiftGen+Strings.swift | ||
Theme.swift |