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

Fix animation being stuck on bolus failure (#14)

Deniz Cengiz 2 лет назад
Родитель
Сommit
d7aad9f100
1 измененных файлов с 11 добавлено и 1 удалено
  1. 11 1
      FreeAPS/Sources/Modules/Bolus/BolusStateModel.swift

+ 11 - 1
FreeAPS/Sources/Modules/Bolus/BolusStateModel.swift

@@ -98,6 +98,7 @@ extension Bolus {
         override func subscribe() {
             setupInsulinRequired()
             broadcaster.register(SuggestionObserver.self, observer: self)
+            broadcaster.register(BolusFailureObserver.self, observer: self)
             units = settingsManager.settings.units
             percentage = settingsManager.settings.insulinReqPercentage
             threshold = provider.suggestion?.threshold ?? 0
@@ -518,7 +519,7 @@ extension Bolus {
     }
 }
 
-extension Bolus.StateModel: SuggestionObserver {
+extension Bolus.StateModel: SuggestionObserver, BolusFailureObserver {
     func suggestionDidUpdate(_: Suggestion) {
         DispatchQueue.main.async {
             self.waitForSuggestion = false
@@ -528,4 +529,13 @@ extension Bolus.StateModel: SuggestionObserver {
         }
         setupInsulinRequired()
     }
+
+    func bolusDidFail() {
+        DispatchQueue.main.async {
+            self.waitForSuggestion = false
+            if self.addButtonPressed {
+                self.hideModal()
+            }
+        }
+    }
 }