aboutsummaryrefslogtreecommitdiff
path: root/iosApp
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2023-09-16 16:52:29 -0600
committerIván Ávalos <avalos@disroot.org>2023-09-16 16:52:29 -0600
commit8765d82d3ad055945c6221e4f46bc38d903bf58d (patch)
treeac741ecb803c69c4ad94d3716807088ec547587f /iosApp
parent9305441303076c2eda5a26d68dd24ed4550591fb (diff)
parentbe1aa14b94e435488864aa77d895ad8d93865d7c (diff)
downloadetbsa-trackermap-mobile-8765d82d3ad055945c6221e4f46bc38d903bf58d.tar.gz
etbsa-trackermap-mobile-8765d82d3ad055945c6221e4f46bc38d903bf58d.tar.bz2
etbsa-trackermap-mobile-8765d82d3ad055945c6221e4f46bc38d903bf58d.zip
Merged upstream
Diffstat (limited to 'iosApp')
-rw-r--r--iosApp/iosApp/Details/Commands/UnitCommandsViewModel.swift2
-rw-r--r--iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift6
-rw-r--r--iosApp/iosApp/Devices/DeviceRow.swift4
-rw-r--r--iosApp/iosApp/Devices/DevicesViewModel.swift15
-rw-r--r--iosApp/iosApp/Session/AccountViewModel.swift7
-rw-r--r--iosApp/iosApp/Session/RootViewModel.swift7
-rw-r--r--iosApp/iosApp/Shared/FlowCollector.swift4
-rw-r--r--iosApp/iosApp/Units/UnitsViewModel.swift17
8 files changed, 40 insertions, 22 deletions
diff --git a/iosApp/iosApp/Details/Commands/UnitCommandsViewModel.swift b/iosApp/iosApp/Details/Commands/UnitCommandsViewModel.swift
index 8e1da00..82e9dd7 100644
--- a/iosApp/iosApp/Details/Commands/UnitCommandsViewModel.swift
+++ b/iosApp/iosApp/Details/Commands/UnitCommandsViewModel.swift
@@ -53,7 +53,7 @@ class UnitCommandsViewModel: ObservableObject {
func sendCommand() {
if let command = selected {
- commandsController.sendCommand(command: command) { _, error in
+ commandsController.sendCommand(command: command) { error in
if let error = error {
print("There is a fucking error")
print(error.localizedDescription)
diff --git a/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift b/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift
index 0592f71..7e2ba81 100644
--- a/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift
+++ b/iosApp/iosApp/Details/Reports/UnitReportsViewModel.swift
@@ -129,10 +129,10 @@ class UnitReportsViewModel: ObservableObject {
init(deviceId id: Int32?) {
deviceId = id
let collector = Collector<ReportController.Report>(callback: setReport)
- reportController.reportFlow.collect(collector: collector) { _, _ in }
+ reportController.reportFlow.collect(collector: collector) { _ in }
let geofencesCollector = Collector<[Int: Geofence]>(callback: setGeofences)
- geofencesController.geofencesFlow.collect(collector: geofencesCollector) { unit, error in }
+ geofencesController.geofencesFlow.collect(collector: geofencesCollector) { _ in }
}
func setReport (report: ReportController.Report) {
@@ -164,7 +164,7 @@ class UnitReportsViewModel: ObservableObject {
.textMessage,
.driverChanged,
.unknown
- ]) { _, _ in }
+ ]) { _ in }
}
}
diff --git a/iosApp/iosApp/Devices/DeviceRow.swift b/iosApp/iosApp/Devices/DeviceRow.swift
index 26f2550..1133c67 100644
--- a/iosApp/iosApp/Devices/DeviceRow.swift
+++ b/iosApp/iosApp/Devices/DeviceRow.swift
@@ -141,8 +141,8 @@ struct DeviceRow: View {
}
/* MARK: - Hourmeter */
- if let hourmeter = Int64(truncating: unit.getHourmeter() ?? 0),
- hourmeter >= 60 * 60 * 1000 {
+ let hourmeter = Int64(truncating: unit.getHourmeter() ?? 0)
+ if hourmeter >= 60 * 60 * 1000 {
HStack {
Label(Formatter.companion.formatHours(millis: hourmeter),
systemImage: "timer")
diff --git a/iosApp/iosApp/Devices/DevicesViewModel.swift b/iosApp/iosApp/Devices/DevicesViewModel.swift
index 76cf9a2..f252ad2 100644
--- a/iosApp/iosApp/Devices/DevicesViewModel.swift
+++ b/iosApp/iosApp/Devices/DevicesViewModel.swift
@@ -18,6 +18,7 @@
import Foundation
import shared
+@MainActor
class DevicesViewModel: ObservableObject {
var unitsViewModel: UnitsViewModel
var id: Int32? = nil
@@ -35,14 +36,18 @@ class DevicesViewModel: ObservableObject {
}
func select(unit: UnitInformation) {
- unitsViewModel.searchQuery = ""
- unitsViewModel.isEditing = false
- unitsViewModel.unitsDisplayMode = .map
- unitsViewModel.selectedUnit = unit
+ Task { @MainActor in
+ unitsViewModel.searchQuery = ""
+ unitsViewModel.isEditing = false
+ unitsViewModel.unitsDisplayMode = .map
+ unitsViewModel.selectedUnit = unit
+ }
}
func show(action: DeviceRow.Action, for unit: UnitInformation) {
- unitsViewModel.show(action: action, for: unit)
+ Task { @MainActor in
+ unitsViewModel.show(action: action, for: unit)
+ }
}
}
diff --git a/iosApp/iosApp/Session/AccountViewModel.swift b/iosApp/iosApp/Session/AccountViewModel.swift
index 7953265..0558268 100644
--- a/iosApp/iosApp/Session/AccountViewModel.swift
+++ b/iosApp/iosApp/Session/AccountViewModel.swift
@@ -9,6 +9,7 @@
import Foundation
import shared
+@MainActor
class AccountViewModel: ObservableObject {
@Inject var sessionController: SessionController
@@ -16,11 +17,13 @@ class AccountViewModel: ObservableObject {
init() {
let userCollector = Collector<User?>(callback: setUser)
- sessionController.userFlow.collect(collector: userCollector) {_, _ in }
+ sessionController.userFlow.collect(collector: userCollector) { _ in }
}
func setUser(user: User?) {
- self.user = user
+ Task { @MainActor in
+ self.user = user
+ }
}
func fetchUserInfo() {
diff --git a/iosApp/iosApp/Session/RootViewModel.swift b/iosApp/iosApp/Session/RootViewModel.swift
index 682deee..ec103ba 100644
--- a/iosApp/iosApp/Session/RootViewModel.swift
+++ b/iosApp/iosApp/Session/RootViewModel.swift
@@ -18,6 +18,7 @@
import Foundation
import shared
+@MainActor
class RootViewModel: ObservableObject {
@Inject private var sessionController: SessionController
@@ -25,13 +26,15 @@ class RootViewModel: ObservableObject {
init() {
let collector = Collector<SessionController.LoginState?>(callback: setLoginState)
- sessionController.loginStateFlow.collect(collector: collector) { (unit, error) in }
+ sessionController.loginStateFlow.collect(collector: collector) { _ in }
restoreSession()
}
func setLoginState(state: SessionController.LoginState?) {
print("State is: \(state?.debugDescription ?? "")")
- self.loginState = state ?? SessionController.LoginStateNothing()
+ Task { @MainActor in
+ self.loginState = state ?? SessionController.LoginStateNothing()
+ }
}
func restoreSession() {
diff --git a/iosApp/iosApp/Shared/FlowCollector.swift b/iosApp/iosApp/Shared/FlowCollector.swift
index 628c0cd..8570490 100644
--- a/iosApp/iosApp/Shared/FlowCollector.swift
+++ b/iosApp/iosApp/Shared/FlowCollector.swift
@@ -27,9 +27,9 @@ class Collector<T>: Kotlinx_coroutines_coreFlowCollector {
self.callback = callback
}
- func emit(value: Any?, completionHandler: @escaping (KotlinUnit?, Error?) -> Void) {
+ func emit(value: Any?, completionHandler: @escaping (Error?) -> Void) {
callback(value as! T)
- completionHandler(KotlinUnit(), nil)
+ completionHandler(nil)
}
}
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) {