Quellcode durchsuchen

Handle device in parser function; cleanup; upload glucose from TP Manager

Deniz Cengiz vor 1 Jahr
Ursprung
Commit
75a0c1efb3

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

@@ -28,6 +28,7 @@ extension FetchGlucoseManager {
 
 final class BaseFetchGlucoseManager: FetchGlucoseManager, Injectable {
     private let processQueue = DispatchQueue(label: "BaseGlucoseManager.processQueue")
+
     @Injected() var glucoseStorage: GlucoseStorage!
     @Injected() var nightscoutManager: NightscoutManager!
     @Injected() var tidepoolService: TidepoolManager!

+ 3 - 2
FreeAPS/Sources/APS/Storage/GlucoseStorage.swift

@@ -423,7 +423,8 @@ final class BaseGlucoseStorage: GlucoseStorage, Injectable {
                     noise: nil,
                     glucose: Int(result.glucose)
                 )
-            }.map { $0.convertStoredGlucoseSample(device: nil) }
+            }
+            .map { $0.convertStoredGlucoseSample(isManualGlucose: false) }
         }
     }
 
@@ -454,7 +455,7 @@ final class BaseGlucoseStorage: GlucoseStorage, Injectable {
                     noise: nil,
                     glucose: Int(result.glucose)
                 )
-            }.map { $0.convertStoredGlucoseSample(device: nil) }
+            }.map { $0.convertStoredGlucoseSample(isManualGlucose: true) }
         }
     }
 

+ 3 - 2
FreeAPS/Sources/Models/BloodGlucose.swift

@@ -157,12 +157,13 @@ extension BloodGlucose: SavitzkyGolaySmoothable {
 }
 
 extension BloodGlucose {
-    func convertStoredGlucoseSample(device: HKDevice?) -> StoredGlucoseSample {
+    func convertStoredGlucoseSample(isManualGlucose: Bool) -> StoredGlucoseSample {
         StoredGlucoseSample(
             syncIdentifier: id,
             startDate: dateString.date,
             quantity: HKQuantity(unit: .milligramsPerDeciliter, doubleValue: Double(glucose!)),
-            device: device
+            wasUserEntered: isManualGlucose,
+            device: HKDevice.local()
         )
     }
 }

+ 7 - 7
FreeAPS/Sources/Services/Network/TidepoolManager.swift

@@ -118,13 +118,13 @@ final class BaseTidepoolManager: TidepoolManager, Injectable {
 
         // TODO: this is currently done in FetchGlucoseManager and forced there inside a background task.
         // leave it there, or move it here? not sure…
-//        coreDataPublisher?.filterByEntityName("GlucoseStored").sink { [weak self] _ in
-//            guard let self = self else { return }
-//            Task { [weak self] in
-//                guard let self = self else { return }
-//                await self.uploadGlucose(device: fetchCgmManager.cgmManager?.cgmManagerStatus.device)
-//            }
-//        }.store(in: &subscriptions)33
+        coreDataPublisher?.filterByEntityName("GlucoseStored").sink { [weak self] _ in
+            guard let self = self else { return }
+            Task { [weak self] in
+                guard let self = self else { return }
+                await self.uploadGlucose()
+            }
+        }.store(in: &subscriptions)
     }
 
     private func subscribe() {