PreferencesEditorProvider.swift 686 B

12345678910111213141516171819
  1. import Foundation
  2. extension PreferencesEditor {
  3. final class Provider: BaseProvider, PreferencesEditorProvider {
  4. private let processQueue = DispatchQueue(label: "PreferencesEditorProvider.processQueue")
  5. var preferences: Preferences {
  6. (try? storage.retrieve(OpenAPS.Settings.preferences, as: Preferences.self))
  7. ?? Preferences(from: OpenAPS.defaults(for: OpenAPS.Settings.preferences))
  8. ?? Preferences()
  9. }
  10. func savePreferences(_ preferences: Preferences) {
  11. processQueue.async {
  12. try? self.storage.save(preferences, as: OpenAPS.Settings.preferences)
  13. }
  14. }
  15. }
  16. }