mirror of
https://github.com/passepartoutvpn/passepartout-apple.git
synced 2024-12-24 18:32:36 +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. |
||
---|---|---|
.. | ||
Assets.xcassets | ||
Constants | ||
de.lproj | ||
el.lproj | ||
en.lproj | ||
es.lproj | ||
Extensions | ||
fastlane | ||
Flags.xcassets | ||
fr.lproj | ||
InApp | ||
Intents | ||
it.lproj | ||
L10n | ||
nl.lproj | ||
pl.lproj | ||
Providers.xcassets | ||
pt.lproj | ||
Reusable | ||
ru.lproj | ||
Scripts | ||
Settings.bundle | ||
sv.lproj | ||
Views | ||
zh-Hans.lproj | ||
App.entitlements | ||
Credits.rtf | ||
Info.plist | ||
PassepartoutApp.swift | ||
swiftgen.yml |