Explorar o código

fetchAndLoop refactored

Ivan Valkou %!s(int64=5) %!d(string=hai) anos
pai
achega
9228e00c90
Modificáronse 1 ficheiros con 10 adicións e 10 borrados
  1. 10 10
      FreeAPS/Sources/APS/APSManager.swift

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

@@ -59,20 +59,20 @@ final class BaseAPSManager: APSManager, Injectable {
     }
 
     func fetchAndLoop() {
-        guard pumpManager != nil else {
-            loop()
-            return
-        }
-
         if settings.allowAnnouncements {
             nightscout.fetchAnnouncements()
                 .sink { [weak self] in
-                    if let recent = self?.announcementsStorage.recent(), recent.action != nil {
-                        self?.enactAnnouncement(recent)
-                    } else {
-                        self?.loop()
+                    guard let self = self else { return }
+                    guard self.pumpManager != nil,
+                          let recent = self.announcementsStorage.recent(),
+                          recent.action != nil
+                    else {
+                        self.loop()
+                        return
                     }
-                }.store(in: &lifetime)
+                    self.enactAnnouncement(recent)
+                }
+                .store(in: &lifetime)
         } else {
             loop()
         }