Jon Mårtensson 4 yıl önce
ebeveyn
işleme
c68f7371e2
1 değiştirilmiş dosya ile 7 ekleme ve 10 silme
  1. 7 10
      FreeAPS/Sources/APS/APSManager.swift

+ 7 - 10
FreeAPS/Sources/APS/APSManager.swift

@@ -589,19 +589,16 @@ final class BaseAPSManager: APSManager, Injectable {
 
             storage.save(enacted, as: OpenAPS.Enact.enacted)
 
+            // Add to tdd.json:
+            //
             let preferences = settingsManager.preferences
-
             let currentTDD = enacted.tdd ?? 0
-
-            // Add to tdd.json
             let file = OpenAPS.Monitor.tdd
-
             let tdd = TDD(
                 TDD: currentTDD,
                 timestamp: Date(),
                 id: UUID().uuidString
             )
-
             var uniqEvents: [TDD] = []
             storage.transaction { storage in
                 storage.append(tdd, to: file, uniqBy: \.id)
@@ -611,26 +608,26 @@ final class BaseAPSManager: APSManager, Injectable {
 
                 var total: Decimal = 0
                 var indeces: Decimal = 0
-
                 for uniqEvent in uniqEvents {
                     total += uniqEvent.TDD
                     indeces += 1
                 }
-
+                if indeces <= 0 {
+                    indeces = 1
+                }
                 let average7 = total / indeces
                 let weight = preferences.weightPercentage
-
                 let weighted_average = weight * currentTDD + (1 - weight) * average7
                 let averages = TDD_averages(
                     average_7days: average7,
                     weightedAverage: weighted_average,
                     date: Date()
                 )
-
                 storage.save(averages, as: OpenAPS.Monitor.tdd_averages)
                 storage.save(Array(uniqEvents), as: file)
             }
-
+            
+            
             debug(.apsManager, "Suggestion enacted. Received: \(received)")
             DispatchQueue.main.async {
                 self.broadcaster.notify(EnactedSuggestionObserver.self, on: .main) {