Browse Source

Init reservoir and battery when Add Pump simulator

kskandis 1 year ago
parent
commit
40f9b332f3
1 changed files with 20 additions and 0 deletions
  1. 20 0
      FreeAPS/Sources/APS/DeviceDataManager.swift

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

@@ -96,6 +96,26 @@ final class BaseDeviceDataManager: DeviceDataManager, Injectable {
                 }
                 if let simulatorPump = pumpManager as? MockPumpManager {
                     pumpDisplayState.value = PumpDisplayState(name: simulatorPump.localizedTitle, image: simulatorPump.smallImage)
+                    pumpName.send(simulatorPump.localizedTitle)
+                    storage.save(Decimal(simulatorPump.pumpReservoirCapacity), as: OpenAPS.Monitor.reservoir)
+                    DispatchQueue.main.async {
+                        self.broadcaster.notify(PumpReservoirObserver.self, on: .main) {
+                            $0.pumpReservoirDidChange(Decimal(simulatorPump.state.reservoirUnitsRemaining))
+                        }
+                    }
+                    let batteryPercent = Int((simulatorPump.state.pumpBatteryChargeRemaining ?? 1) * 100)
+                    let battery = Battery(
+                        percent: batteryPercent,
+                        voltage: nil,
+                        string: batteryPercent >= 10 ? .normal : .low,
+                        display: simulatorPump.state.pumpBatteryChargeRemaining != nil
+                    )
+                    storage.save(battery, as: OpenAPS.Monitor.battery)
+                    DispatchQueue.main.async {
+                        self.broadcaster.notify(PumpBatteryObserver.self, on: .main) {
+                            $0.pumpBatteryDidChange(battery)
+                        }
+                    }
                 }
             } else {
                 pumpDisplayState.value = nil