Przeglądaj źródła

Merge pull request #580 from avouspierre/bdb_dev

Correction of carbs AH issue
Jon B Mårtensson 3 lat temu
rodzic
commit
4730e228ac

+ 8 - 3
FreeAPS/Sources/Services/HealthKit/HealthKitManager.swift

@@ -183,10 +183,15 @@ final class BaseHealthKitManager: HealthKitManager, Injectable, CarbsObserver {
               carbs.isNotEmpty
         else { return }
 
+        let carbsWithId = carbs.filter { c in
+            guard c.id != nil else { return false }
+            return true
+        }
+
         func save(samples: [HKSample]) {
             let sampleIDs = samples.compactMap(\.syncIdentifier)
-            let samplesToSave = carbs
-                .filter { !sampleIDs.contains($0.id?.uuidString ?? "_id") }
+            let samplesToSave = carbsWithId
+                .filter { !sampleIDs.contains($0.id!.uuidString) }
                 .map {
                     HKQuantitySample(
                         type: sampleType,
@@ -205,7 +210,7 @@ final class BaseHealthKitManager: HealthKitManager, Injectable, CarbsObserver {
             healthKitStore.save(samplesToSave) { _, _ in }
         }
 
-        loadSamplesFromHealth(sampleType: sampleType, withIDs: carbs.compactMap(\.id?.uuidString))
+        loadSamplesFromHealth(sampleType: sampleType, withIDs: carbsWithId.compactMap(\.id?.uuidString))
             .receive(on: processQueue)
             .sink(receiveValue: save)
             .store(in: &lifetime)