Bladeren bron

slider must adjustSens

must be != 100%
Robert 1 jaar geleden
bovenliggende
commit
0cc20d3f2e

+ 9 - 3
FreeAPS/Sources/Modules/OverrideConfig/OverrideStateModel.swift

@@ -882,7 +882,13 @@ extension OverrideConfig.StateModel {
     }
 
     func isAdjustSensEnabled(usingTarget initialTarget: Decimal? = nil) -> Bool {
-        computeSliderHigh(usingTarget: initialTarget) > computeSliderLow(usingTarget: initialTarget)
+        let shouldRaiseSensitivity = settingsManager.preferences.highTemptargetRaisesSensitivity
+        let isExerciseModeActive = settingsManager.preferences.exerciseMode
+        let shouldlowerSensitivity = settingsManager.preferences.lowTemptargetLowersSensitivity
+        let target = initialTarget ?? tempTargetTarget
+        if target < normalTarget, shouldlowerSensitivity { return true }
+        if target > normalTarget, shouldRaiseSensitivity || isExerciseModeActive { return true }
+        return false
     }
 
     func computeHalfBasalTarget(
@@ -908,7 +914,7 @@ extension OverrideConfig.StateModel {
         let isExerciseModeActive = settingsManager.preferences.exerciseMode
         let isTargetNormalOrLower = calcTarget <= normalTarget
 
-        let minSens = (isTargetNormalOrLower || (!shouldRaiseSensitivity && !isExerciseModeActive)) ? 100 : 15
+        let minSens = (isTargetNormalOrLower || (!shouldRaiseSensitivity && !isExerciseModeActive)) ? 105 : 15
 
         return Double(max(0, minSens))
     }
@@ -920,7 +926,7 @@ extension OverrideConfig.StateModel {
         let shouldLowerSensitivity = settingsManager.preferences.lowTemptargetLowersSensitivity
         let isTargetNormalOrHigher = calcTarget >= normalTarget
 
-        let maxSens = (isTargetNormalOrHigher || !shouldLowerSensitivity) ? 100 : Double(maxValue * 100)
+        let maxSens = (isTargetNormalOrHigher || !shouldLowerSensitivity) ? 95 : Double(maxValue * 100)
 
         return maxSens
     }

+ 2 - 2
FreeAPS/Sources/Modules/OverrideConfig/View/EditTempTargetForm.swift

@@ -250,8 +250,8 @@ struct EditTempTargetForm: View {
                                                 ))
                                             }
                                         ),
-                                        in: Double(state.computeSliderLow(usingTarget: target)) ...
-                                            Double(state.computeSliderHigh(usingTarget: target)),
+                                        in: state.computeSliderLow(usingTarget: target) ... state
+                                            .computeSliderHigh(usingTarget: target) - 1,
                                         step: 5
                                     ) {}
                                     minimumValueLabel: {