From 67fd4e894d5126ce6a84697b8fb28c870ccbf026 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sat, 23 Sep 2023 10:54:04 -0500 Subject: [PATCH] Report pod change as pump event --- OmniKit/PumpManager/OmnipodPumpManager.swift | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/OmniKit/PumpManager/OmnipodPumpManager.swift b/OmniKit/PumpManager/OmnipodPumpManager.swift index b33524a..9b2c2a7 100644 --- a/OmniKit/PumpManager/OmnipodPumpManager.swift +++ b/OmniKit/PumpManager/OmnipodPumpManager.swift @@ -179,6 +179,14 @@ public class OmnipodPumpManager: RileyLinkPumpManager { }) } } + + if oldValue.podState?.setupProgress != newValue.podState?.setupProgress, newValue.podState?.setupProgress == .completed { + self.pumpDelegate.notify() { (delegate) in + let date = Date() + let event = NewPumpEvent(date: date, dose: nil, raw: "Pod Change \(date)".data(using: .utf8)!, title: "Pod Change", type: .replaceComponent(componentType: .pump)) + delegate?.pumpManager(self, hasNewPumpEvents: [event], lastReconciliation: self.lastSync, replacePendingEvents: false) { _ in } + } + } } @@ -2058,7 +2066,7 @@ extension OmnipodPumpManager: PumpManager { preconditionFailure("pumpManagerDelegate cannot be nil") } - delegate.pumpManager(self, hasNewPumpEvents: doses.map { NewPumpEvent($0) }, lastReconciliation: lastSync, completion: { (error) in + delegate.pumpManager(self, hasNewPumpEvents: doses.map { NewPumpEvent($0) }, lastReconciliation: lastSync, replacePendingEvents: true) { (error) in if let error = error { self.log.error("Error storing pod events: %@", String(describing: error)) } else { @@ -2066,7 +2074,7 @@ extension OmnipodPumpManager: PumpManager { } completion(error) - }) + } } } }