| 12345678910111213141516171819202122232425 |
- extension TargetsEditor {
- final class Provider: BaseProvider, TargetsEditorProvider {
- var profile: BGTargets {
- var retrievedTargets = storage.retrieve(OpenAPS.Settings.bgTargets, as: BGTargets.self)
- ?? BGTargets(from: OpenAPS.defaults(for: OpenAPS.Settings.bgTargets))
- ?? BGTargets(units: .mgdL, userPreferredUnits: .mgdL, targets: [])
- // migrate existing mmol/L Trio users from mmol/L settings to pure mg/dl settings
- if retrievedTargets.units == .mmolL || retrievedTargets.userPreferredUnits == .mmolL {
- let convertedTargets = retrievedTargets.targets.map { target in
- BGTargetEntry(low: target.low.asMgdL, high: target.high.asMgdL, start: target.start, offset: target.offset)
- }
- retrievedTargets = BGTargets(units: .mgdL, userPreferredUnits: .mgdL, targets: convertedTargets)
- saveProfile(retrievedTargets)
- }
- return retrievedTargets
- }
- func saveProfile(_ profile: BGTargets) {
- storage.save(profile, as: OpenAPS.Settings.bgTargets)
- }
- }
- }
|