|
|
@@ -48,15 +48,15 @@ final class BaseFetchTreatmentsManager: FetchTreatmentsManager, Injectable {
|
|
|
lhs.createdAt < rhs.createdAt
|
|
|
}
|
|
|
|
|
|
- var lastTempTarget: TempTarget?
|
|
|
-
|
|
|
// Iterate over all temp targets
|
|
|
for (index, tempTarget) in sortedTargets.enumerated() {
|
|
|
// Skip saving if a Temp Target with the same date already exists
|
|
|
- guard await !self.tempTargetsStorage.existsTempTarget(with: tempTarget.createdAt) else {
|
|
|
+ guard await !self.tempTargetsStorage.existsTempTarget(with: tempTarget.createdAt),
|
|
|
+ tempTarget.reason != TempTarget.cancel
|
|
|
+ else {
|
|
|
debug(
|
|
|
.nightscout,
|
|
|
- "Skipping duplicate temp target with date: \(tempTarget.date ?? Date.distantPast)"
|
|
|
+ "Skipping temp target with date: \(tempTarget.date ?? Date.distantPast)"
|
|
|
)
|
|
|
continue
|
|
|
}
|
|
|
@@ -69,21 +69,13 @@ final class BaseFetchTreatmentsManager: FetchTreatmentsManager, Injectable {
|
|
|
|
|
|
// Save to Core Data
|
|
|
await self.tempTargetsStorage.storeTempTarget(tempTarget: mutableTempTarget)
|
|
|
-
|
|
|
- // Keep track of the last temp target
|
|
|
- if index == sortedTargets.count - 1 {
|
|
|
- lastTempTarget = mutableTempTarget
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // Check if the last Temp Target is a cancel event
|
|
|
- if let lastTempTarget = lastTempTarget, lastTempTarget.reason == TempTarget.cancel {
|
|
|
- // Send custom notification to update Adjustments UI
|
|
|
- Foundation.NotificationCenter.default.post(name: .didUpdateTempTargetConfiguration, object: nil)
|
|
|
}
|
|
|
|
|
|
// Save the temp targets to JSON so that they get used by oref
|
|
|
self.tempTargetsStorage.saveTempTargetsToStorage(sortedTargets)
|
|
|
+
|
|
|
+ // Update Adjustments View
|
|
|
+ Foundation.NotificationCenter.default.post(name: .didUpdateTempTargetConfiguration, object: nil)
|
|
|
}
|
|
|
}
|
|
|
}
|