|
|
@@ -70,19 +70,22 @@ final class BaseFetchGlucoseManager: FetchGlucoseManager, Injectable {
|
|
|
.eraseToAnyPublisher()
|
|
|
}
|
|
|
.sink { date, syncDate, glucose, glucoseFromHealth in
|
|
|
+ let allGlucose = glucose + glucoseFromHealth
|
|
|
+ guard allGlucose.isNotEmpty else { return }
|
|
|
// Because of Spike dosn't respect a date query
|
|
|
- let filteredByDate = (glucose + glucoseFromHealth).filter { $0.dateString > syncDate }
|
|
|
+ let filteredByDate = allGlucose.filter { $0.dateString > syncDate }
|
|
|
let filtered = self.glucoseStorage.filterTooFrequentGlucose(filteredByDate, at: syncDate)
|
|
|
- if filtered.isNotEmpty {
|
|
|
- debug(.nightscout, "New glucose found")
|
|
|
- self.glucoseStorage.storeGlucose(filtered)
|
|
|
- self.apsManager.heartbeat(date: date, force: false)
|
|
|
- self.nightscoutManager.uploadGlucose()
|
|
|
- let glucoseForHealth = filteredByDate.filter { !glucoseFromHealth.contains($0) }
|
|
|
- if glucoseForHealth.isNotEmpty {
|
|
|
- self.healthKitManager.save(bloodGlucoses: glucoseForHealth, completion: nil)
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
+ guard filtered.isNotEmpty else { return }
|
|
|
+ debug(.nightscout, "New glucose found")
|
|
|
+
|
|
|
+ self.glucoseStorage.storeGlucose(filtered)
|
|
|
+ self.apsManager.heartbeat(date: date, force: false)
|
|
|
+ self.nightscoutManager.uploadGlucose()
|
|
|
+ let glucoseForHealth = filteredByDate.filter { !glucoseFromHealth.contains($0) }
|
|
|
+
|
|
|
+ guard glucoseForHealth.isNotEmpty else { return }
|
|
|
+ self.healthKitManager.save(bloodGlucoses: glucoseForHealth, completion: nil)
|
|
|
}
|
|
|
.store(in: &lifetime)
|
|
|
timer.fire()
|