|
|
@@ -25,26 +25,28 @@ extension MainViewController {
|
|
|
var bgChartEntry = [ChartDataEntry]()
|
|
|
var colors = [NSUIColor]()
|
|
|
var maxBG: Int = 250
|
|
|
- for i in 0..<entries.count{
|
|
|
- var dateString = String(entries[i].date).prefix(10)
|
|
|
- let dateSecondsOnly = Double(String(dateString))!
|
|
|
- if entries[i].sgv > maxBG - 40 {
|
|
|
- maxBG = entries[i].sgv + 40
|
|
|
- }
|
|
|
- let value = ChartDataEntry(x: Double(entries[i].date), y: Double(entries[i].sgv))
|
|
|
- bgChartEntry.append(value)
|
|
|
-
|
|
|
- if Double(entries[i].sgv) >= Double(UserDefaultsRepository.highLine.value) {
|
|
|
- colors.append(NSUIColor.systemYellow)
|
|
|
- } else if Double(entries[i].sgv) <= Double(UserDefaultsRepository.lowLine.value) {
|
|
|
- colors.append(NSUIColor.systemRed)
|
|
|
- } else {
|
|
|
- colors.append(NSUIColor.systemGreen)
|
|
|
+ if bgData.count > 0 {
|
|
|
+ for i in 0..<entries.count{
|
|
|
+ var dateString = String(entries[i].date).prefix(10)
|
|
|
+ let dateSecondsOnly = Double(String(dateString))!
|
|
|
+ if entries[i].sgv > maxBG - 40 {
|
|
|
+ maxBG = entries[i].sgv + 40
|
|
|
+ }
|
|
|
+ let value = ChartDataEntry(x: Double(entries[i].date), y: Double(entries[i].sgv))
|
|
|
+ bgChartEntry.append(value)
|
|
|
+
|
|
|
+ if Double(entries[i].sgv) >= Double(UserDefaultsRepository.highLine.value) {
|
|
|
+ colors.append(NSUIColor.systemYellow)
|
|
|
+ } else if Double(entries[i].sgv) <= Double(UserDefaultsRepository.lowLine.value) {
|
|
|
+ colors.append(NSUIColor.systemRed)
|
|
|
+ } else {
|
|
|
+ colors.append(NSUIColor.systemGreen)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// Add Prediction Data
|
|
|
- if predictionData.count > 0 {
|
|
|
+ if predictionData.count > 0 && bgData.count > 0 {
|
|
|
var startingTime = bgChartEntry[bgChartEntry.count - 1].x + 300
|
|
|
var i = 0
|
|
|
// Add 1 hour of predictions
|
|
|
@@ -96,11 +98,13 @@ extension MainViewController {
|
|
|
// create Basal graph data
|
|
|
var chartEntry = [ChartDataEntry]()
|
|
|
var maxBasal = 1.0
|
|
|
- for i in 0..<basalData.count{
|
|
|
- let value = ChartDataEntry(x: Double(basalData[i].date), y: Double(basalData[i].basalRate))
|
|
|
- chartEntry.append(value)
|
|
|
- if basalData[i].basalRate > maxBasal {
|
|
|
- maxBasal = basalData[i].basalRate
|
|
|
+ if basalData.count > 0 {
|
|
|
+ for i in 0..<basalData.count{
|
|
|
+ let value = ChartDataEntry(x: Double(basalData[i].date), y: Double(basalData[i].basalRate))
|
|
|
+ chartEntry.append(value)
|
|
|
+ if basalData[i].basalRate > maxBasal {
|
|
|
+ maxBasal = basalData[i].basalRate
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
// Setup Basal line details
|
|
|
@@ -117,9 +121,11 @@ extension MainViewController {
|
|
|
|
|
|
// Boluses
|
|
|
var chartEntryBolus = [ChartDataEntry]()
|
|
|
- for i in 0..<bolusData.count{
|
|
|
- let value = ChartDataEntry(x: Double(bolusData[i].date), y: Double(bolusData[i].sgv + 10), data: String(bolusData[i].value))
|
|
|
- chartEntryBolus.append(value)
|
|
|
+ if bolusData.count > 0 {
|
|
|
+ for i in 0..<bolusData.count{
|
|
|
+ let value = ChartDataEntry(x: Double(bolusData[i].date), y: Double(bolusData[i].sgv + 10), data: String(bolusData[i].value))
|
|
|
+ chartEntryBolus.append(value)
|
|
|
+ }
|
|
|
}
|
|
|
let lineBolus = LineChartDataSet(entries:chartEntryBolus, label: "")
|
|
|
lineBolus.circleRadius = 7
|
|
|
@@ -137,9 +143,11 @@ extension MainViewController {
|
|
|
|
|
|
// Carbs
|
|
|
var chartEntryCarbs = [ChartDataEntry]()
|
|
|
- for i in 0..<carbData.count{
|
|
|
- let value = ChartDataEntry(x: Double(carbData[i].date), y: Double(carbData[i].sgv + 30), data: String(carbData[i].value))
|
|
|
- chartEntryCarbs.append(value)
|
|
|
+ if carbData.count > 0 {
|
|
|
+ for i in 0..<carbData.count{
|
|
|
+ let value = ChartDataEntry(x: Double(carbData[i].date), y: Double(carbData[i].sgv + 30), data: String(carbData[i].value))
|
|
|
+ chartEntryCarbs.append(value)
|
|
|
+ }
|
|
|
}
|
|
|
let lineCarbs = LineChartDataSet(entries:chartEntryCarbs, label: "")
|
|
|
lineCarbs.circleRadius = 7
|
|
|
@@ -219,8 +227,9 @@ extension MainViewController {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
- createSmallBGGraph(bgChartEntry: bgChartEntry, colors: colors)
|
|
|
+ if bgData.count > 0 {
|
|
|
+ createSmallBGGraph(bgChartEntry: bgChartEntry, colors: colors)
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|