Przeglądaj źródła

some refactoring

Ivan Valkou 5 lat temu
rodzic
commit
f7b1b0a4c7

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

@@ -71,7 +71,7 @@ final class BaseAPSManager: APSManager, Injectable {
 
 
     private var openAPS: OpenAPS!
     private var openAPS: OpenAPS!
 
 
-    private var lifetime = Set<AnyCancellable>()
+    private var lifetime = Lifetime()
 
 
     var pumpManager: PumpManagerUI? {
     var pumpManager: PumpManagerUI? {
         get { deviceDataManager.pumpManager }
         get { deviceDataManager.pumpManager }
@@ -259,7 +259,7 @@ final class BaseAPSManager: APSManager, Injectable {
     }
     }
 
 
     func determineBasalSync() {
     func determineBasalSync() {
-        determineBasal().sink { _ in }.store(in: &lifetime)
+        determineBasal().cancellable().store(in: &lifetime)
     }
     }
 
 
     func makeProfiles() -> AnyPublisher<Bool, Never> {
     func makeProfiles() -> AnyPublisher<Bool, Never> {

+ 1 - 1
FreeAPS/Sources/APS/FetchAnnouncementsManager.swift

@@ -12,7 +12,7 @@ final class BaseFetchAnnouncementsManager: FetchAnnouncementsManager, Injectable
     @Injected() var apsManager: APSManager!
     @Injected() var apsManager: APSManager!
     @Injected() var settingsManager: SettingsManager!
     @Injected() var settingsManager: SettingsManager!
 
 
-    private var lifetime = Set<AnyCancellable>()
+    private var lifetime = Lifetime()
     private let timer = DispatchTimer(timeInterval: 1.minutes.timeInterval)
     private let timer = DispatchTimer(timeInterval: 1.minutes.timeInterval)
 
 
     init(resolver: Resolver) {
     init(resolver: Resolver) {

+ 1 - 1
FreeAPS/Sources/APS/FetchGlucoseManager.swift

@@ -11,7 +11,7 @@ final class BaseFetchGlucoseManager: FetchGlucoseManager, Injectable {
     @Injected() var nightscoutManager: NightscoutManager!
     @Injected() var nightscoutManager: NightscoutManager!
     @Injected() var apsManager: APSManager!
     @Injected() var apsManager: APSManager!
 
 
-    private var lifetime = Set<AnyCancellable>()
+    private var lifetime = Lifetime()
     private let timer = DispatchTimer(timeInterval: 1.minutes.timeInterval)
     private let timer = DispatchTimer(timeInterval: 1.minutes.timeInterval)
 
 
     init(resolver: Resolver) {
     init(resolver: Resolver) {

+ 1 - 1
FreeAPS/Sources/APS/FetchTreatmentsManager.swift

@@ -11,7 +11,7 @@ final class BaseFetchTreatmentsManager: FetchTreatmentsManager, Injectable {
     @Injected() var tempTargetsStorage: TempTargetsStorage!
     @Injected() var tempTargetsStorage: TempTargetsStorage!
     @Injected() var carbsStorage: CarbsStorage!
     @Injected() var carbsStorage: CarbsStorage!
 
 
-    private var lifetime = Set<AnyCancellable>()
+    private var lifetime = Lifetime()
     private let timer = DispatchTimer(timeInterval: 1.minutes.timeInterval)
     private let timer = DispatchTimer(timeInterval: 1.minutes.timeInterval)
 
 
     init(resolver: Resolver) {
     init(resolver: Resolver) {

+ 14 - 0
FreeAPS/Sources/Helpers/Publisher.swift

@@ -27,3 +27,17 @@ extension Publisher {
         zip(dropFirst()).eraseToAnyPublisher()
         zip(dropFirst()).eraseToAnyPublisher()
     }
     }
 }
 }
+
+extension Publisher {
+    func cancellable() -> some Cancellable {
+        sink { _ in } receiveValue: { _ in }
+    }
+}
+
+extension Publisher where Failure == Never {
+    func cancellable() -> some Cancellable {
+        sink { _ in }
+    }
+}
+
+typealias Lifetime = Set<AnyCancellable>

+ 2 - 2
FreeAPS/Sources/Modules/AutotuneConfig/AutotuneConfigViewModel.swift

@@ -27,7 +27,7 @@ extension AutotuneConfig {
                     self.settingsManager.settings.useAutotune = use
                     self.settingsManager.settings.useAutotune = use
                     return self.apsManager.makeProfiles()
                     return self.apsManager.makeProfiles()
                 }
                 }
-                .sink { _ in }
+                .cancellable()
                 .store(in: &lifetime)
                 .store(in: &lifetime)
         }
         }
 
 
@@ -47,7 +47,7 @@ extension AutotuneConfig {
             provider.deleteAutotune()
             provider.deleteAutotune()
             autotune = nil
             autotune = nil
             apsManager.makeProfiles()
             apsManager.makeProfiles()
-                .sink { _ in }
+                .cancellable()
                 .store(in: &lifetime)
                 .store(in: &lifetime)
         }
         }
     }
     }

+ 1 - 1
FreeAPS/Sources/Modules/Base/BaseProvider.swift

@@ -7,7 +7,7 @@ protocol Provider {
 }
 }
 
 
 class BaseProvider: Provider, Injectable {
 class BaseProvider: Provider, Injectable {
-    var lifetime = Set<AnyCancellable>()
+    var lifetime = Lifetime()
     @Injected() var authorizationManager: AuthorizationManager!
     @Injected() var authorizationManager: AuthorizationManager!
     @Injected() var deviceManager: DeviceDataManager!
     @Injected() var deviceManager: DeviceDataManager!
     @Injected() var storage: FileStorage!
     @Injected() var storage: FileStorage!

+ 1 - 1
FreeAPS/Sources/Modules/Base/BaseViewModel.swift

@@ -12,7 +12,7 @@ protocol ViewModel {
 class BaseViewModel<Provider>: ViewModel, Injectable where Provider: FreeAPS.Provider {
 class BaseViewModel<Provider>: ViewModel, Injectable where Provider: FreeAPS.Provider {
     let resolver: Resolver
     let resolver: Resolver
     let provider: Provider
     let provider: Provider
-    var lifetime = Set<AnyCancellable>()
+    var lifetime = Lifetime()
     @Injected() var router: Router!
     @Injected() var router: Router!
 
 
     required init(provider: Provider, resolver: Resolver) {
     required init(provider: Provider, resolver: Resolver) {

+ 1 - 1
FreeAPS/Sources/Services/AuthorizationManager/AuthorizationManager.swift

@@ -17,7 +17,7 @@ final class BaseAuthorizationManager: AuthorizationManager, Injectable {
 
 
     let credentials = CurrentValueSubject<Credentials?, Never>(nil)
     let credentials = CurrentValueSubject<Credentials?, Never>(nil)
 
 
-    private var lifetime = Set<AnyCancellable>()
+    private var lifetime = Lifetime()
 
 
     @Injected() private var keychain: Keychain!
     @Injected() private var keychain: Keychain!
 
 

+ 1 - 1
FreeAPS/Sources/Services/Network/NightscoutManager.swift

@@ -27,7 +27,7 @@ final class BaseNightscoutManager: NightscoutManager, Injectable {
 
 
     private let processQueue = DispatchQueue(label: "BaseNetworkManager.processQueue")
     private let processQueue = DispatchQueue(label: "BaseNetworkManager.processQueue")
 
 
-    private var lifetime = Set<AnyCancellable>()
+    private var lifetime = Lifetime()
 
 
     private var isNetworkReachable: Bool {
     private var isNetworkReachable: Bool {
         reachabilityManager.isReachable
         reachabilityManager.isReachable