Browse Source

save reservoir

Ivan Valkou 5 năm trước cách đây
mục cha
commit
b27e53b664

+ 4 - 2
FreeAPS/Sources/APS/BaseDeviceDataManager.swift

@@ -24,6 +24,7 @@ private let staticPumpManagersByIdentifier: [String: PumpManagerUI.Type] = stati
 
 final class BaseDeviceDataManager: DeviceDataManager, Injectable {
     @Injected() private var pumpHistoryStorage: PumpHistoryStorage!
+    @Injected() private var storage: FileStorage!
 
     var pumpManager: PumpManagerUI? {
         didSet {
@@ -90,8 +91,8 @@ extension BaseDeviceDataManager: PumpManagerDelegate {
     }
 
     func pumpManager(_: PumpManager, didUpdate status: PumpManagerStatus, oldStatus _: PumpManagerStatus) {
-        print("[DeviceDataManager] new pump status Bolus: \(status.bolusState)")
-        print("[DeviceDataManager] new pump status Basal: \(String(describing: status.basalDeliveryState))")
+        print("[DeviceDataManager] New pump status Bolus: \(status.bolusState)")
+        print("[DeviceDataManager] New pump status Basal: \(String(describing: status.basalDeliveryState))")
     }
 
     func pumpManagerWillDeactivate(_: PumpManager) {
@@ -124,6 +125,7 @@ extension BaseDeviceDataManager: PumpManagerDelegate {
         >) -> Void
     ) {
         print("[DeviceDataManager] Reservoir Value \(units), at: \(date)")
+        try? storage.save(Decimal(units), as: OpenAPS.Monitor.reservoir)
         completion(.success((
             newValue: Reservoir(startDate: Date(), unitVolume: units),
             lastValue: nil,

+ 2 - 1
FreeAPS/Sources/APS/PumpHistoryStorage.swift

@@ -24,12 +24,13 @@ final class BasePumpHistoryStorage: PumpHistoryStorage, Injectable {
                     print("[PUMP EVENT] Bolus event:\n\(event.title))")
                     guard let dose = event.dose else { return [] }
                     let amount = Decimal(string: dose.unitsInDeliverableIncrements.description)
+                    let minutes = Int((dose.endDate - dose.startDate).timeInterval / 60)
                     return [PumpHistoryEvent(
                         id: id,
                         type: .bolus,
                         timestamp: event.date,
                         amount: amount,
-                        duration: nil,
+                        duration: minutes,
                         durationMin: nil,
                         rate: nil,
                         temp: nil

+ 2 - 0
FreeAPS/Sources/Helpers/JSON.swift

@@ -36,6 +36,8 @@ extension Int: JSON {}
 
 extension Bool: JSON {}
 
+extension Decimal: JSON {}
+
 extension Date: JSON {
     var rawJSON: String {
         let formatter = ISO8601DateFormatter()