فهرست منبع

Only use 1 day of data for the stats

Ostap Korkuna 4 سال پیش
والد
کامیت
0ccbb5f086
2فایلهای تغییر یافته به همراه14 افزوده شده و 2 حذف شده
  1. 13 1
      LoopFollow/Controllers/StatsView.swift
  2. 1 1
      LoopFollow/ViewControllers/AdvancedSettingsViewController.swift

+ 13 - 1
LoopFollow/Controllers/StatsView.swift

@@ -16,7 +16,19 @@ extension MainViewController {
     func updateStats()
     {
         if bgData.count > 0 {
-           let stats = StatsData(bgData: bgData)
+            var lastDayOfData = bgData
+            let graphHours = 24 * UserDefaultsRepository.downloadDays.value
+            // If we loaded more than 1 day of data, only use the last day for the stats
+            if graphHours > 24 {
+                let oneDayAgo = dateTimeUtils.getTimeIntervalNHoursAgo(N: 24)
+                var startIndex = 0
+                while startIndex < bgData.count && bgData[startIndex].date < oneDayAgo {
+                    startIndex += 1
+                }
+                lastDayOfData = Array(bgData.dropFirst(startIndex))
+            }
+            
+            let stats = StatsData(bgData: lastDayOfData)
             
             statsLowPercent.text = String(format:"%.1f%", stats.percentLow) + "%"
             statsInRangePercent.text = String(format:"%.1f%", stats.percentRange) + "%"

+ 1 - 1
LoopFollow/ViewControllers/AdvancedSettingsViewController.swift

@@ -92,7 +92,7 @@ class AdvancedSettingsViewController: FormViewController {
             }
             <<< StepperRow("downloadDays") { row in
                 // NS supports 4 days, Dexcom Share only 1 day
-                row.title = "Show Days Back (NS only)"
+                row.title = "Show Days Back"
                 row.cell.stepper.stepValue = 1
                 row.cell.stepper.minimumValue = 1
                 row.cell.stepper.maximumValue = 4