diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-09-16 16:52:29 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2023-09-16 16:52:29 -0600 |
commit | 8765d82d3ad055945c6221e4f46bc38d903bf58d (patch) | |
tree | ac741ecb803c69c4ad94d3716807088ec547587f /iosApp/iosApp/Units/UnitsViewModel.swift | |
parent | 9305441303076c2eda5a26d68dd24ed4550591fb (diff) | |
parent | be1aa14b94e435488864aa77d895ad8d93865d7c (diff) | |
download | etbsa-trackermap-mobile-8765d82d3ad055945c6221e4f46bc38d903bf58d.tar.gz etbsa-trackermap-mobile-8765d82d3ad055945c6221e4f46bc38d903bf58d.tar.bz2 etbsa-trackermap-mobile-8765d82d3ad055945c6221e4f46bc38d903bf58d.zip |
Merged upstream
Diffstat (limited to 'iosApp/iosApp/Units/UnitsViewModel.swift')
-rw-r--r-- | iosApp/iosApp/Units/UnitsViewModel.swift | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/iosApp/iosApp/Units/UnitsViewModel.swift b/iosApp/iosApp/Units/UnitsViewModel.swift index 6a3ce19..7fcc80e 100644 --- a/iosApp/iosApp/Units/UnitsViewModel.swift +++ b/iosApp/iosApp/Units/UnitsViewModel.swift @@ -19,6 +19,7 @@ import Foundation import WhirlyGlobe import shared +@MainActor class UnitsViewModel: ObservableObject { @Inject var unitsController: UnitsController @Inject var geofenceController: GeofencesController @@ -45,7 +46,9 @@ class UnitsViewModel: ObservableObject { @Published var unitsDisplayMode: UnitsDisplayMode = .map @Published var units: [UnitInformation] = [] { didSet { - markers = units.compactMap(Marker.companion.fromUnit) + Task { @MainActor in + markers = units.compactMap(Marker.companion.fromUnit) + } } } @Published var markers: [Marker] = [] @@ -81,20 +84,24 @@ class UnitsViewModel: ObservableObject { private func setupObservers() { let unitsCollector = Collector<[UnitInformation]>(callback: setUnits) - unitsController.displayedUnitsFlow.collect(collector: unitsCollector) { unit, error in } + unitsController.displayedUnitsFlow.collect(collector: unitsCollector) { _ in } let geofencesCollector = Collector<[Int: Geofence]>(callback: setGeofences) - geofenceController.geofencesFlow.collect(collector: geofencesCollector) { unit, error in } + geofenceController.geofencesFlow.collect(collector: geofencesCollector) { _ in } } private func setUnits(units: [UnitInformation]) { print("Positions") - self.units = units + Task { @MainActor in + self.units = units + } updateSelectedUnit() } private func setGeofences(geofences: [Int: Geofence]) { - self.geofences = geofences + Task { @MainActor in + self.geofences = geofences + } } func selectUnit(unit: UnitInformation?, switchToMap: Bool = true) { |