فهرست منبع

revert get and clean property value to original; add resetLoopDocuments method to delete pump state used for testing only

kimberlieskandis 1 سال پیش
والد
کامیت
75df98a626

+ 0 - 1
FreeAPS/Sources/APS/DeviceDataManager.swift

@@ -304,7 +304,6 @@ extension BaseDeviceDataManager: PumpManagerDelegate {
 
     func pumpManagerDidUpdateState(_ pumpManager: PumpManager) {
         rawPumpManager = pumpManager.rawValue
-        UserDefaults.standard.clearLegacyPumpManagerRawValue()
         if self.pumpManager == nil, let newPumpManager = pumpManager as? PumpManagerUI {
             self.pumpManager = newPumpManager
         }

+ 2 - 2
FreeAPS/Sources/APS/Extensions/UserDefaultsExtensions.swift

@@ -25,11 +25,11 @@ extension UserDefaults {
     }
 
     var legacyPumpManagerRawValue: PumpManager.RawValue? {
-        dictionary(forKey: Key.legacyPumpManagerState.rawValue)
+        dictionary(forKey: Key.legacyPumpManagerRawValue.rawValue)
     }
 
     func clearLegacyPumpManagerRawValue() {
-        set(nil, forKey: Key.legacyPumpManagerState.rawValue)
+        set(nil, forKey: Key.legacyPumpManagerRawValue.rawValue)
     }
 
     var legacyCGMManagerRawValue: CGMManager.RawValue? {

+ 13 - 0
FreeAPS/Sources/Modules/Settings/SettingsStateModel.swift

@@ -62,6 +62,19 @@ extension Settings {
         func hideSettingsModal() {
             hideModal()
         }
+
+        func resetLoopDocuments() {
+            guard let localDocuments = try? FileManager.default.url(
+                for: .documentDirectory,
+                in: .userDomainMask,
+                appropriateFor: nil,
+                create: true
+            ) else {
+                preconditionFailure("Could not get a documents directory URL.")
+            }
+            let storageURL = localDocuments.appendingPathComponent("PumpManagerState" + ".plist")
+            try? FileManager.default.removeItem(at: storageURL)
+        }
     }
 }
 

+ 6 - 0
FreeAPS/Sources/Modules/Settings/View/SettingsRootView.swift

@@ -61,6 +61,12 @@ extension Settings {
                                     .frame(maxWidth: .infinity, alignment: .trailing)
                                     .buttonStyle(.borderedProminent)
                             }
+                            HStack {
+                                Text("Delete Pump State nlist")
+                                Button("Delete") { state.resetLoopDocuments() }
+                                    .frame(maxWidth: .infinity, alignment: .trailing)
+                                    .buttonStyle(.borderedProminent)
+                            }
                         }
                         Group {
                             Text("Preferences")