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

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

@@ -257,7 +257,7 @@ extension BaseDeviceDataManager: PumpManagerDelegate {
     }
 
     func startDateToFilterNewPumpEvents(for _: PumpManager) -> Date {
-        lastEventDate ?? Date().addingTimeInterval(-2.hours.timeInterval)
+        lastEventDate?.addingTimeInterval(-15.minutes.timeInterval) ?? Date().addingTimeInterval(-2.hours.timeInterval)
     }
 }
 

+ 18 - 3
FreeAPS/Sources/Modules/DataTable/DataTableDataFlow.swift

@@ -9,6 +9,8 @@ enum DataTable {
         case bolus
         case tempBasal
         case tempTarget
+        case suspend
+        case resume
 
         var name: String {
             switch self {
@@ -20,6 +22,10 @@ enum DataTable {
                 return "Temp Basal"
             case .tempTarget:
                 return "Temp Target"
+            case .suspend:
+                return "Suspend"
+            case .resume:
+                return "Resume"
             }
         }
     }
@@ -29,7 +35,7 @@ enum DataTable {
         let units: GlucoseUnits
         let type: DataType
         let date: Date
-        let amount: Decimal
+        let amount: Decimal?
         let secondAmount: Decimal?
         let duration: Decimal?
 
@@ -44,7 +50,7 @@ enum DataTable {
             units: GlucoseUnits,
             type: DataType,
             date: Date,
-            amount: Decimal,
+            amount: Decimal? = nil,
             secondAmount: Decimal? = nil,
             duration: Decimal? = nil
         ) {
@@ -65,6 +71,10 @@ enum DataTable {
         }
 
         var amountText: String {
+            guard let amount = amount else {
+                return ""
+            }
+
             switch type {
             case .carbs:
                 return numberFormater.string(from: amount as NSNumber)! + " g"
@@ -87,6 +97,9 @@ enum DataTable {
 
                 return numberFormater.string(from: converted as NSNumber)! + " - " + numberFormater
                     .string(from: secondAmount as NSNumber)! + " \(units.rawValue)"
+            case .resume,
+                 .suspend:
+                return type.name
             }
         }
 
@@ -98,7 +111,9 @@ enum DataTable {
                 return .insulin
             case .tempBasal:
                 return Color.insulin.opacity(0.5)
-            case .tempTarget:
+            case .resume,
+                 .suspend,
+                 .tempTarget:
                 return .loopGray
             }
         }

+ 14 - 2
FreeAPS/Sources/Modules/DataTable/DataTableViewModel.swift

@@ -25,7 +25,7 @@ extension DataTable {
                 let boluses = self.provider.pumpHistory()
                     .filter { $0.type == .bolus }
                     .map {
-                        Item(units: units, type: .bolus, date: $0.timestamp, amount: $0.amount ?? 0)
+                        Item(units: units, type: .bolus, date: $0.timestamp, amount: $0.amount)
                     }
 
                 let tempBasals = self.provider.pumpHistory()
@@ -57,7 +57,19 @@ extension DataTable {
                         )
                     }
 
-                self.items = [carbs, boluses, tempBasals, tempTargets]
+                let suspend = self.provider.pumpHistory()
+                    .filter { $0.type == .pumpSuspend }
+                    .map {
+                        Item(units: units, type: .suspend, date: $0.timestamp)
+                    }
+
+                let resume = self.provider.pumpHistory()
+                    .filter { $0.type == .pumpResume }
+                    .map {
+                        Item(units: units, type: .resume, date: $0.timestamp)
+                    }
+
+                self.items = [carbs, boluses, tempBasals, tempTargets, suspend, resume]
                     .flatMap { $0 }
                     .sorted { $0.date > $1.date }
             }