aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsViewModel.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2022-01-17 15:51:47 -0600
committerIván Ávalos <avalos@disroot.org>2022-01-17 15:51:47 -0600
commit7ab652acd172963b2f36085eb9be6927cb21fc71 (patch)
tree4e826c625fa12315280454bb57db43dde9dde13d /androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsViewModel.kt
parentd91688765774ccb9153a5236edf359a8fa3a0f62 (diff)
downloadetbsa-trackermap-mobile-7ab652acd172963b2f36085eb9be6927cb21fc71.tar.gz
etbsa-trackermap-mobile-7ab652acd172963b2f36085eb9be6927cb21fc71.tar.bz2
etbsa-trackermap-mobile-7ab652acd172963b2f36085eb9be6927cb21fc71.zip
Fixed reports fragment map data display, and added geofences
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsViewModel.kt')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsViewModel.kt14
1 files changed, 14 insertions, 0 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsViewModel.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsViewModel.kt
index 0c8a6ac..a957435 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsViewModel.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsViewModel.kt
@@ -5,6 +5,8 @@ import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch
import mx.trackermap.TrackerMap.client.models.EventInformation
+import mx.trackermap.TrackerMap.client.models.Geofence
+import mx.trackermap.TrackerMap.controllers.GeofencesController
import mx.trackermap.TrackerMap.controllers.ReportController
import mx.trackermap.TrackerMap.utils.ReportDates
import org.koin.core.component.KoinComponent
@@ -15,6 +17,7 @@ class UnitReportsViewModel(
savedStateHandle: SavedStateHandle
) : ViewModel(), KoinComponent {
+ private val geofencesController: GeofencesController by inject()
private val reportController: ReportController by inject()
private var _deviceId = savedStateHandle.getLiveData("deviceId", 0)
@@ -22,11 +25,13 @@ class UnitReportsViewModel(
private val _reportPeriod: MutableLiveData<ReportDates.ReportPeriod> =
savedStateHandle.getLiveData("reportPeriod", null)
private val _report: MutableLiveData<ReportController.Report> = MutableLiveData()
+ private val _geofences: MutableLiveData<Array<Geofence>> = MutableLiveData()
val deviceId: LiveData<Int> get() = _deviceId
val reportType: LiveData<ReportController.ReportType> get() = _reportType
val reportPeriod: LiveData<ReportDates.ReportPeriod> get() = _reportPeriod
val report: LiveData<ReportController.Report> get() = _report
+ val geofences: LiveData<Array<Geofence>> get() = _geofences
init {
viewModelScope.launch {
@@ -38,6 +43,9 @@ class UnitReportsViewModel(
viewModelScope.launch {
setupReportObserver()
}
+ viewModelScope.launch {
+ setupGeofenceObserver()
+ }
}
private suspend fun setupTypeObserver() {
@@ -58,6 +66,12 @@ class UnitReportsViewModel(
}
}
+ private suspend fun setupGeofenceObserver() {
+ geofencesController.geofencesFlow.collect {
+ _geofences.value = it.values.toTypedArray()
+ }
+ }
+
fun setDeviceId (id: Int) {
_deviceId.value = id
}