|
|
@@ -11,7 +11,6 @@ import UserNotifications
|
|
|
|
|
|
protocol DeviceDataManager {
|
|
|
var pumpManager: PumpManagerUI? { get set }
|
|
|
- var hasBLEHeartbeat: Bool { get }
|
|
|
var pumpDisplayState: CurrentValueSubject<PumpDisplayState?, Never> { get }
|
|
|
var recommendsLoop: PassthroughSubject<Void, Never> { get }
|
|
|
var bolusTrigger: PassthroughSubject<Bool, Never> { get }
|
|
|
@@ -66,7 +65,6 @@ final class BaseDeviceDataManager: DeviceDataManager, Injectable {
|
|
|
}
|
|
|
pumpExpiresAtDate.send(endTime)
|
|
|
}
|
|
|
- pumpManager.setMustProvideBLEHeartbeat(true)
|
|
|
} else {
|
|
|
pumpDisplayState.value = nil
|
|
|
}
|
|
|
@@ -93,8 +91,6 @@ final class BaseDeviceDataManager: DeviceDataManager, Injectable {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @SyncAccess(lock: accessLock) private var pumpUpdateInProgress = false
|
|
|
-
|
|
|
func createBolusProgressReporter() -> DoseProgressReporter? {
|
|
|
pumpManager?.createBolusProgressReporter(reportingOn: processQueue)
|
|
|
}
|
|
|
@@ -133,16 +129,11 @@ final class BaseDeviceDataManager: DeviceDataManager, Injectable {
|
|
|
debug(.deviceManager, "Pump is not set, skip updating")
|
|
|
return
|
|
|
}
|
|
|
- guard !pumpUpdateInProgress else {
|
|
|
- debug(.deviceManager, "Pump update in progress, skip updating")
|
|
|
- return
|
|
|
- }
|
|
|
+
|
|
|
debug(.deviceManager, "Start updating the pump data")
|
|
|
- pumpUpdateInProgress = true
|
|
|
|
|
|
pumpManager.ensureCurrentPumpData {
|
|
|
debug(.deviceManager, "Pump Data updated")
|
|
|
- self.pumpUpdateInProgress = false
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -180,8 +171,6 @@ extension BaseDeviceDataManager: PumpManagerDelegate {
|
|
|
|
|
|
func pumpManagerBLEHeartbeatDidFire(_: PumpManager) {
|
|
|
debug(.deviceManager, "Pump Heartbeat")
|
|
|
- pumpUpdateInProgress = false
|
|
|
- heartbeat(date: Date(), force: false)
|
|
|
}
|
|
|
|
|
|
func pumpManagerMustProvideBLEHeartbeat(_: PumpManager) -> Bool {
|
|
|
@@ -230,7 +219,6 @@ extension BaseDeviceDataManager: PumpManagerDelegate {
|
|
|
func pumpManagerWillDeactivate(_: PumpManager) {
|
|
|
dispatchPrecondition(condition: .onQueue(processQueue))
|
|
|
pumpManager = nil
|
|
|
- pumpUpdateInProgress = false
|
|
|
}
|
|
|
|
|
|
func pumpManager(_: PumpManager, didUpdatePumpRecordsBasalProfileStartEvents _: Bool) {}
|
|
|
@@ -239,7 +227,6 @@ extension BaseDeviceDataManager: PumpManagerDelegate {
|
|
|
dispatchPrecondition(condition: .onQueue(processQueue))
|
|
|
debug(.deviceManager, "error: \(error.localizedDescription), reason: \(String(describing: error.failureReason))")
|
|
|
errorSubject.send(error)
|
|
|
- pumpUpdateInProgress = false
|
|
|
}
|
|
|
|
|
|
func pumpManager(
|
|
|
@@ -280,7 +267,6 @@ extension BaseDeviceDataManager: PumpManagerDelegate {
|
|
|
|
|
|
func pumpManagerRecommendsLoop(_: PumpManager) {
|
|
|
dispatchPrecondition(condition: .onQueue(processQueue))
|
|
|
- pumpUpdateInProgress = false
|
|
|
debug(.deviceManager, "Recomends loop")
|
|
|
recommendsLoop.send()
|
|
|
}
|