Forráskód Böngészése

Merge pull request #861 from itsmojo/no-PM-state-wiping

Don't wipe saved Pump Manager state if PM fails to initialize
Deniz Cengiz 5 hónapja
szülő
commit
bd773f79e1
1 módosított fájl, 8 hozzáadás és 4 törlés
  1. 8 4
      Trio/Sources/APS/DeviceDataManager.swift

+ 8 - 4
Trio/Sources/APS/DeviceDataManager.swift

@@ -81,11 +81,15 @@ final class BaseDeviceDataManager: DeviceDataManager, Injectable {
 
     var pumpManager: PumpManagerUI? {
         didSet {
-            pumpManager?.pumpManagerDelegate = self
-            pumpManager?.delegateQueue = processQueue
-            rawPumpManager = pumpManager?.rawValue
-            UserDefaults.standard.clearLegacyPumpManagerRawValue()
             if let pumpManager = pumpManager {
+                pumpManager.pumpManagerDelegate = self
+                pumpManager.delegateQueue = processQueue
+
+                /// Since the pump manager has been successfully instantiated from its saved state,
+                /// copy its rawValue to rawPumpManager which will be saved to persistant storage.
+                rawPumpManager = pumpManager.rawValue
+                UserDefaults.standard.clearLegacyPumpManagerRawValue()
+
                 pumpDisplayState.value = PumpDisplayState(name: pumpManager.localizedTitle, image: pumpManager.smallImage)
                 pumpName.send(pumpManager.localizedTitle)