GarminConfigStateModel.swift 621 B

12345678910111213141516171819202122232425
  1. import ConnectIQ
  2. import SwiftUI
  3. extension GarminConfig {
  4. final class StateModel: BaseStateModel<Provider> {
  5. @Injected() private var garmin: GarminManager!
  6. @Published var devices: [IQDevice] = []
  7. override func subscribe() {
  8. devices = garmin.devices
  9. }
  10. func selectDevices() {
  11. garmin.selectDevices()
  12. .receive(on: DispatchQueue.main)
  13. .weakAssign(to: \.devices, on: self)
  14. .store(in: &lifetime)
  15. }
  16. func deleteDevice() {
  17. garmin.updateListDevices(devices: devices)
  18. }
  19. }
  20. }