aboutsummaryrefslogtreecommitdiff
path: root/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2022-01-26 23:16:11 -0600
committerIván Ávalos <avalos@disroot.org>2022-01-26 23:16:11 -0600
commitfeba14e1858aaf3fad2673b362f4c6b91bad83eb (patch)
treea11b350e04e304c95a05389dadb62a273bf638fd /shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers
parente369918a12347884898d7c3e9bebf92731db55d5 (diff)
downloadetbsa-trackermap-mobile-feba14e1858aaf3fad2673b362f4c6b91bad83eb.tar.gz
etbsa-trackermap-mobile-feba14e1858aaf3fad2673b362f4c6b91bad83eb.tar.bz2
etbsa-trackermap-mobile-feba14e1858aaf3fad2673b362f4c6b91bad83eb.zip
Implemented dependency injection with Swift property wrappers
Diffstat (limited to 'shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers')
-rw-r--r--shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/GeofencesController.kt3
-rw-r--r--shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/ReportController.kt3
-rw-r--r--shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt3
-rw-r--r--shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/UnitsController.kt3
4 files changed, 8 insertions, 4 deletions
diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/GeofencesController.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/GeofencesController.kt
index 0e4c5c9..e16bb72 100644
--- a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/GeofencesController.kt
+++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/GeofencesController.kt
@@ -21,13 +21,14 @@ import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.launch
+import mx.trackermap.TrackerMap.Injectable
import mx.trackermap.TrackerMap.client.apis.GeofencesApi
import mx.trackermap.TrackerMap.client.models.Geofence
@DelicateCoroutinesApi
class GeofencesController(
private val geofencesApi: GeofencesApi
-) {
+): Injectable {
val geofencesFlow = MutableStateFlow<Map<Int,Geofence>>(emptyMap())
init {
diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/ReportController.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/ReportController.kt
index b60a034..46bc445 100644
--- a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/ReportController.kt
+++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/ReportController.kt
@@ -21,6 +21,7 @@ import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.launch
+import mx.trackermap.TrackerMap.Injectable
import mx.trackermap.TrackerMap.client.apis.GeofencesApi
import mx.trackermap.TrackerMap.client.apis.ReportsApi
import mx.trackermap.TrackerMap.client.models.EventInformation
@@ -32,7 +33,7 @@ import mx.trackermap.TrackerMap.utils.ReportDates
class ReportController(
private val reportsApi: ReportsApi,
private val geofencesApi: GeofencesApi
-) {
+): Injectable {
sealed class Report {
class PositionsReport(val positions: Array<Position>) : Report()
diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt
index 2f196f1..d3deca1 100644
--- a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt
+++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/SessionController.kt
@@ -22,6 +22,7 @@ import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.launch
import kotlinx.serialization.json.JsonPrimitive
+import mx.trackermap.TrackerMap.Injectable
import mx.trackermap.TrackerMap.client.apis.SessionApi
import mx.trackermap.TrackerMap.client.apis.UsersApi
import mx.trackermap.TrackerMap.client.models.SessionBody
@@ -31,7 +32,7 @@ import mx.trackermap.TrackerMap.client.models.User
class SessionController(
private val sessionApi: SessionApi,
private val usersApi: UsersApi
-) {
+): Injectable {
sealed class LoginState {
object Nothing: LoginState()
object Loading: LoginState()
diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/UnitsController.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/UnitsController.kt
index b282a34..fd1e950 100644
--- a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/UnitsController.kt
+++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/controllers/UnitsController.kt
@@ -25,6 +25,7 @@ import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.*
import kotlinx.coroutines.launch
+import mx.trackermap.TrackerMap.Injectable
import mx.trackermap.TrackerMap.client.apis.DevicesApi
import mx.trackermap.TrackerMap.client.apis.PositionsApi
import mx.trackermap.TrackerMap.client.models.Position
@@ -38,7 +39,7 @@ import kotlin.time.ExperimentalTime
class UnitsController(
private val devicesApi: DevicesApi,
private val positionsApi: PositionsApi
-) {
+): Injectable {
private companion object {
const val UPDATE_TIME = 20
}