Ivan Valkou 5 лет назад
Родитель
Сommit
5b422fe2d8

+ 0 - 3
FreeAPS/Sources/APS/APSManager.swift

@@ -10,7 +10,6 @@ protocol APSManager {
     func autotune() -> AnyPublisher<Autotune?, Never>
     func enactBolus(amount: Double, isSMB: Bool)
     var pumpManager: PumpManagerUI? { get set }
-    var hasBLEHeartbeat: Bool { get }
     var pumpDisplayState: CurrentValueSubject<PumpDisplayState?, Never> { get }
     var pumpName: CurrentValueSubject<String, Never> { get }
     var isLooping: CurrentValueSubject<Bool, Never> { get }
@@ -79,8 +78,6 @@ final class BaseAPSManager: APSManager, Injectable {
         set { deviceDataManager.pumpManager = newValue }
     }
 
-    var hasBLEHeartbeat: Bool { deviceDataManager.hasBLEHeartbeat }
-
     let isLooping = CurrentValueSubject<Bool, Never>(false)
     let lastLoopDateSubject = PassthroughSubject<Date, Never>()
     let lastError = CurrentValueSubject<Error?, Never>(nil)

+ 1 - 15
FreeAPS/Sources/APS/DeviceDataManager.swift

@@ -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()
     }

+ 1 - 3
FreeAPS/Sources/APS/FetchGlucoseManager.swift

@@ -44,9 +44,7 @@ final class BaseFetchGlucoseManager: FetchGlucoseManager, Injectable {
                 if !filtered.isEmpty {
                     debug(.nightscout, "New glucose found")
                     self.glucoseStorage.storeGlucose(filtered)
-                    if !self.apsManager.hasBLEHeartbeat {
-                        self.apsManager.heartbeat(date: date, force: false)
-                    }
+                    self.apsManager.heartbeat(date: date, force: false)
                 }
             }
             .store(in: &lifetime)