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. |
||
---|---|---|
.. | ||
project.xcworkspace | ||
xcshareddata/xcschemes | ||
project.pbxproj |