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

Fix indefinite override not drawn in Live Activity chart

When override duration is 0 (indefinite), end date equaled start date,
giving the RuleMark zero width and preventing it from rendering. Treat
duration == 0 as indefinite and extend the bar to now + 2 hours,
matching the chart's x-axis domain.

Fixes #1191
Magnus Reintz 3 дней назад
Родитель
Сommit
a956be22eb
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      LiveActivity/Views/LiveActivityChartView.swift

+ 3 - 1
LiveActivity/Views/LiveActivityChartView.swift

@@ -113,7 +113,9 @@ struct LiveActivityChartView: View {
         let duration = context.state.detailedViewState.overrideDuration
         let durationAsTimeInterval = TimeInterval((duration as NSDecimalNumber).doubleValue * 60) // return seconds
 
-        let end: Date = start.addingTimeInterval(durationAsTimeInterval)
+        let end: Date = duration == 0
+            ? Date(timeIntervalSinceNow: 7200)
+            : start.addingTimeInterval(durationAsTimeInterval)
         let target = context.state.detailedViewState.overrideTarget
 
         return RuleMark(