|
@@ -39,20 +39,25 @@ extension LiveActivityAttributes.ContentState {
|
|
|
|
|
|
|
|
static func calculateChange(chart: [GlucoseData], units: GlucoseUnits) -> String {
|
|
static func calculateChange(chart: [GlucoseData], units: GlucoseUnits) -> String {
|
|
|
guard chart.count > 2 else { return "" }
|
|
guard chart.count > 2 else { return "" }
|
|
|
- let lastGlucose = chart.first?.glucose ?? 0
|
|
|
|
|
- let secondLastGlucose = chart.dropFirst().first?.glucose ?? 0
|
|
|
|
|
- let delta = lastGlucose - secondLastGlucose
|
|
|
|
|
- let deltaAsDecimal = units == .mmolL ? Decimal(delta).asMmolL : Decimal(delta)
|
|
|
|
|
|
|
+
|
|
|
let formatter = NumberFormatter()
|
|
let formatter = NumberFormatter()
|
|
|
formatter.numberStyle = .decimal
|
|
formatter.numberStyle = .decimal
|
|
|
formatter.maximumFractionDigits = 1
|
|
formatter.maximumFractionDigits = 1
|
|
|
|
|
+ formatter.positivePrefix = " +"
|
|
|
|
|
+ formatter.negativePrefix = " -"
|
|
|
|
|
+
|
|
|
|
|
+ var lastGlucose = Decimal(chart.first?.glucose ?? 0)
|
|
|
|
|
+ var secondLastGlucose = Decimal(chart.dropFirst().first?.glucose ?? 0)
|
|
|
if units == .mmolL {
|
|
if units == .mmolL {
|
|
|
|
|
+ lastGlucose = lastGlucose.asMmolL
|
|
|
|
|
+ secondLastGlucose = secondLastGlucose.asMmolL
|
|
|
|
|
+
|
|
|
formatter.minimumFractionDigits = 1
|
|
formatter.minimumFractionDigits = 1
|
|
|
formatter.maximumFractionDigits = 1
|
|
formatter.maximumFractionDigits = 1
|
|
|
}
|
|
}
|
|
|
- formatter.positivePrefix = " +"
|
|
|
|
|
- formatter.negativePrefix = " -"
|
|
|
|
|
- return formatter.string(from: deltaAsDecimal as NSNumber) ?? "--"
|
|
|
|
|
|
|
+
|
|
|
|
|
+ let delta = lastGlucose - secondLastGlucose
|
|
|
|
|
+ return formatter.string(from: delta as NSNumber) ?? "--"
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
init(
|
|
init(
|