Skip to content

Commit 3c3b4e0

Browse files
authored
Merge pull request #2046 from SwiftlyNoah/predicted-bg-graph-fix
Fix predicted BG graph only showing sometimes
2 parents 9242f9d + 5384ac4 commit 3c3b4e0

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

Loop/Managers/LoopDataManager.swift

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ final class LoopDataManager {
197197
self.dataAccessQueue.async {
198198
self.logger.default("Received notification of dosing changing")
199199

200-
self.insulinEffect = nil
200+
self.clearCachedInsulinEffects()
201201
self.remoteRecommendationNeedsUpdating = true
202202

203203
self.notify(forChange: .insulin)
@@ -314,7 +314,7 @@ final class LoopDataManager {
314314
// Invalidate cached effects based on this schedule
315315
self.carbEffect = nil
316316
self.carbsOnBoard = nil
317-
self.insulinEffect = nil
317+
self.clearCachedInsulinEffects()
318318
}
319319
}
320320

@@ -339,12 +339,7 @@ final class LoopDataManager {
339339
}
340340
}
341341

342-
private var insulinEffect: [GlucoseEffect]? {
343-
didSet {
344-
insulinEffectIncludingPendingInsulin = nil
345-
predictedGlucose = nil
346-
}
347-
}
342+
private var insulinEffect: [GlucoseEffect]?
348343

349344
private var insulinEffectIncludingPendingInsulin: [GlucoseEffect]? {
350345
didSet {
@@ -454,6 +449,12 @@ final class LoopDataManager {
454449

455450
return cachedRetrospectiveCorrection!
456451
}
452+
453+
func clearCachedInsulinEffects() {
454+
insulinEffect = nil
455+
insulinEffectIncludingPendingInsulin = nil
456+
predictedGlucose = nil
457+
}
457458

458459
// MARK: - Background task management
459460

@@ -717,7 +718,7 @@ extension LoopDataManager {
717718
self.logger.debug("bolusConfirmed")
718719
self.lastRequestedBolus = nil
719720
self.recommendedAutomaticDose = nil
720-
self.insulinEffect = nil
721+
self.clearCachedInsulinEffects()
721722
self.notify(forChange: .insulin)
722723

723724
completion?()
@@ -733,7 +734,7 @@ extension LoopDataManager {
733734
self.dataAccessQueue.async {
734735
self.logger.debug("bolusRequestFailed")
735736
self.lastRequestedBolus = nil
736-
self.insulinEffect = nil
737+
self.clearCachedInsulinEffects()
737738
self.notify(forChange: .insulin)
738739

739740
completion?()
@@ -754,7 +755,7 @@ extension LoopDataManager {
754755

755756
self.dataAccessQueue.async {
756757
if error == nil {
757-
self.insulinEffect = nil
758+
self.clearCachedInsulinEffects()
758759
}
759760
}
760761
}
@@ -773,7 +774,7 @@ extension LoopDataManager {
773774
doseStore.addDoses([dose], from: nil) { (error) in
774775
if error == nil {
775776
self.recommendedAutomaticDose = nil
776-
self.insulinEffect = nil
777+
self.clearCachedInsulinEffects()
777778
self.notify(forChange: .insulin)
778779
}
779780
}
@@ -795,7 +796,7 @@ extension LoopDataManager {
795796
completion(.failure(error))
796797
} else if let newValue = newValue {
797798
self.dataAccessQueue.async {
798-
self.insulinEffect = nil
799+
self.clearCachedInsulinEffects()
799800

800801
if let newDoseStartDate = previousValue?.startDate {
801802
// Prune back any counteraction effects for recomputation, after the effect delay

0 commit comments

Comments
 (0)