فهرست منبع

use core data

polscm32 2 سال پیش
والد
کامیت
658ca588d0

+ 1 - 1
FreeAPS/Sources/Services/LiveActivity/LiveActitiyShared.swift

@@ -7,7 +7,7 @@ struct LiveActivityAttributes: ActivityAttributes {
         let trendSystemImage: String?
         let trendSystemImage: String?
         let change: String
         let change: String
         let date: Date
         let date: Date
-        let chart: [Int?]
+        let chart: [Int16]
         let chartDate: [Date?]
         let chartDate: [Date?]
         let rotationDegrees: Double
         let rotationDegrees: Double
     }
     }

+ 9 - 4
FreeAPS/Sources/Services/LiveActivity/LiveActivityBridge.swift

@@ -21,7 +21,7 @@ extension LiveActivityAttributes.ContentState {
             .string(from: mmol ? value.asMmolL as NSNumber : NSNumber(value: value))!
             .string(from: mmol ? value.asMmolL as NSNumber : NSNumber(value: value))!
     }
     }
 
 
-    init?(new bg: BloodGlucose, prev: BloodGlucose?, mmol: Bool, chart: [BloodGlucose]) {
+    init?(new bg: BloodGlucose, prev: BloodGlucose?, mmol: Bool, chart: [Readings]) {
         guard let glucose = bg.glucose,
         guard let glucose = bg.glucose,
               bg.dateString.timeIntervalSinceNow > -TimeInterval(minutes: 6)
               bg.dateString.timeIntervalSinceNow > -TimeInterval(minutes: 6)
         else {
         else {
@@ -71,7 +71,7 @@ extension LiveActivityAttributes.ContentState {
 
 
         let chartBG = chart.map(\.glucose)
         let chartBG = chart.map(\.glucose)
 
 
-        let chartDate = chart.map(\.dateString)
+        let chartDate = chart.map(\.date)
 
 
         self.init(
         self.init(
             bg: formattedBG,
             bg: formattedBG,
@@ -211,14 +211,19 @@ extension LiveActivityBridge: GlucoseObserver {
         defer {
         defer {
             self.latestGlucose = glucose.last
             self.latestGlucose = glucose.last
         }
         }
+        
+//        let last72Glucose = Array(glucose.dropLast().suffix(72))
+        let coreDataStorage = CoreDataStorage()
 
 
-        let last72Glucose = Array(glucose.dropLast().suffix(72))
+//        let fetchGlucose = coreDataStorage.fetchGlucose(interval: DateFilter().day)
+        let sixHoursAgo = Calendar.current.date(byAdding: .hour, value: -6, to: Date()) ?? Date()
+        let fetchGlucose = coreDataStorage.fetchGlucose(interval: sixHoursAgo as NSDate)
 
 
         guard let bg = glucose.last, let content = LiveActivityAttributes.ContentState(
         guard let bg = glucose.last, let content = LiveActivityAttributes.ContentState(
             new: bg,
             new: bg,
             prev: latestGlucose,
             prev: latestGlucose,
             mmol: settings.units == .mmolL,
             mmol: settings.units == .mmolL,
-            chart: last72Glucose
+            chart: fetchGlucose
         ) else {
         ) else {
             // no bg or value stale. Don't update the activity if there already is one, just let it turn stale so that it can still be used once current bg is available again
             // no bg or value stale. Don't update the activity if there already is one, just let it turn stale so that it can still be used once current bg is available again
             return
             return