Jelajahi Sumber

combine getPreferences() calls and set min maxBolus to 0.5

also fix comment
Mike Plante 1 tahun lalu
induk
melakukan
f21560002e

+ 1 - 1
Trio/Sources/Models/DecimalPickerSettings.swift

@@ -136,7 +136,7 @@ struct DecimalPickerSettings {
     var timeCap = PickerSetting(value: 8, step: 1, min: 5, max: 12, type: PickerSetting.PickerSettingType.hour)
     var timeCap = PickerSetting(value: 8, step: 1, min: 5, max: 12, type: PickerSetting.PickerSettingType.hour)
     var hours = PickerSetting(value: 6, step: 0.5, min: 2, max: 24, type: PickerSetting.PickerSettingType.hour)
     var hours = PickerSetting(value: 6, step: 0.5, min: 2, max: 24, type: PickerSetting.PickerSettingType.hour)
     var dia = PickerSetting(value: 10, step: 0.5, min: 5, max: 10, type: PickerSetting.PickerSettingType.hour)
     var dia = PickerSetting(value: 10, step: 0.5, min: 5, max: 10, type: PickerSetting.PickerSettingType.hour)
-    var maxBolus = PickerSetting(value: 10, step: 0.5, min: 1, max: 30, type: PickerSetting.PickerSettingType.insulinUnit)
+    var maxBolus = PickerSetting(value: 10, step: 0.5, min: 0.5, max: 30, type: PickerSetting.PickerSettingType.insulinUnit)
     var maxBasal = PickerSetting(value: 10, step: 0.5, min: 0.5, max: 30, type: PickerSetting.PickerSettingType.insulinUnit)
     var maxBasal = PickerSetting(value: 10, step: 0.5, min: 0.5, max: 30, type: PickerSetting.PickerSettingType.insulinUnit)
 }
 }
 
 

+ 3 - 8
Trio/Sources/Modules/Treatments/TreatmentsStateModel.swift

@@ -250,15 +250,10 @@ extension Treatments {
                     }
                     }
                 }
                 }
                 group.addTask {
                 group.addTask {
-                    let getMaxIOB = await self.provider.getPreferences().maxIOB
+                    let getPreferences = await self.provider.getPreferences()
                     await MainActor.run {
                     await MainActor.run {
-                        self.maxIOB = getMaxIOB
-                    }
-                }
-                group.addTask {
-                    let getMaxCOB = await self.provider.getPreferences().maxCOB
-                    await MainActor.run {
-                        self.maxCOB = getMaxCOB
+                        self.maxIOB = getPreferences.maxIOB
+                        self.maxCOB = getPreferences.maxCOB
                     }
                     }
                 }
                 }
             }
             }

+ 1 - 1
Trio/Sources/Modules/Treatments/View/PopupView.swift

@@ -237,7 +237,7 @@ struct PopupView: View {
                     Text(
                     Text(
                         state.wholeCob
                         state.wholeCob
                             .formatted(.number.grouping(.never).rounded().precision(.fractionLength(fractionDigits))) +
                             .formatted(.number.grouping(.never).rounded().precision(.fractionLength(fractionDigits))) +
-                        String(localized: " g", comment: "grams")
+                            String(localized: " g", comment: "grams")
                     ).foregroundColor(state.wholeCob >= state.maxCOB ? Color.loopRed : .primary)
                     ).foregroundColor(state.wholeCob >= state.maxCOB ? Color.loopRed : .primary)
                 }
                 }
 
 

+ 7 - 5
Trio/Sources/Services/BolusCalculator/BolusCalculationManager.swift

@@ -189,12 +189,12 @@ final class BaseBolusCalculationManager: BolusCalculationManager, Injectable {
             )
             )
     }
     }
 
 
-    /// Returns maxIOB and maxCOB from storage
-    /// - Returns:  object containing maxIOB and maxCOB limits
+    /// Retrieves Preferences from storage
+    /// - Returns: Preferences object containing maxIOB and maxCOB
     private func getPreferences() async -> Preferences {
     private func getPreferences() async -> Preferences {
         await fileStorage.retrieveAsync(OpenAPS.Settings.preferences, as: Preferences.self)
         await fileStorage.retrieveAsync(OpenAPS.Settings.preferences, as: Preferences.self)
             ?? Preferences(from: OpenAPS.defaults(for: OpenAPS.Settings.preferences))
             ?? Preferences(from: OpenAPS.defaults(for: OpenAPS.Settings.preferences))
-            ?? Preferences(maxIOB: 0, maxCOB: 0)
+            ?? Preferences(maxIOB: 0, maxCOB: 120)
     }
     }
 
 
     /// Fetches recent glucose readings from CoreData
     /// Fetches recent glucose readings from CoreData
@@ -288,8 +288,10 @@ final class BaseBolusCalculationManager: BolusCalculationManager, Injectable {
         let currentISF = await getCurrentSettingValue(for: .isf)
         let currentISF = await getCurrentSettingValue(for: .isf)
 
 
         // Get max IOB and max COB
         // Get max IOB and max COB
-        let maxIOB = await getPreferences().maxIOB
-        let maxCOB = await getPreferences().maxCOB
+
+        let preferences = await getPreferences()
+        let maxIOB = preferences.maxIOB
+        let maxCOB = preferences.maxCOB
 
 
         // Fetch glucose data
         // Fetch glucose data
         let glucoseIds = await fetchGlucose()
         let glucoseIds = await fetchGlucose()