Просмотр исходного кода

Fix too flat glucose filtering

Ivan Valkou 4 лет назад
Родитель
Сommit
17927fce21
1 измененных файлов с 5 добавлено и 9 удалено
  1. 5 9
      FreeAPS/Sources/APS/Storage/GlucoseStorage.swift

+ 5 - 9
FreeAPS/Sources/APS/Storage/GlucoseStorage.swift

@@ -105,15 +105,11 @@ final class BaseGlucoseStorage: GlucoseStorage, Injectable {
     }
 
     func isGlucoseNotFlat() -> Bool {
-        let last3 = recent().suffix(3)
-        guard last3.count == 3 else { return true }
-
-        return Array(
-            last3
-                .compactMap { $0.filtered ?? 0 }
-                .filter { $0 != 0 }
-                .uniqued()
-        ).count != 1
+        let count = 3 // check last 3 readings
+        let lastReadings = Array(recent().suffix(count))
+        let filtered = lastReadings.compactMap(\.filtered).filter { $0 != 0 }
+        guard lastReadings.count == count, filtered.count == count else { return true }
+        return Array(filtered.uniqued()).count != 1
     }
 
     func nightscoutGlucoseNotUploaded() -> [BloodGlucose] {