aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsViewModel.kt
diff options
context:
space:
mode:
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.kt15
1 files changed, 8 insertions, 7 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 41a6b6d..628ce2f 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
@@ -19,7 +19,7 @@ package mx.trackermap.TrackerMap.android.details.reports
import androidx.lifecycle.*
import kotlinx.coroutines.DelicateCoroutinesApi
-import kotlinx.coroutines.flow.collect
+import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
import mx.trackermap.TrackerMap.client.models.EventInformation
import mx.trackermap.TrackerMap.client.models.Geofence
@@ -42,16 +42,17 @@ class UnitReportsViewModel(
private val reportController: ReportController by inject()
private var _deviceId = savedStateHandle.getLiveData("deviceId", 0)
- private val _reportType: MutableLiveData<ReportController.ReportType> = savedStateHandle.getLiveData("reportType", null)
+ private val _reportType: MutableLiveData<ReportController.ReportType> =
+ savedStateHandle.getLiveData("reportType", ReportController.ReportType.POSITIONS)
private val _reportPeriod: MutableLiveData<ReportDates.ReportPeriod> =
- savedStateHandle.getLiveData("reportPeriod", null)
- private val _report: MutableLiveData<ReportController.Report> = MutableLiveData()
+ savedStateHandle.getLiveData("reportPeriod", ReportDates.ReportPeriod.Today())
+ private val _report: MutableLiveData<ReportController.Report?> = MutableLiveData()
private val _geofences: MutableLiveData<Array<Geofence>> = MutableLiveData(emptyArray())
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 report: LiveData<ReportController.Report?> get() = _report
val geofences: LiveData<Array<Geofence>> get() = _geofences
init {
@@ -82,13 +83,13 @@ class UnitReportsViewModel(
}
private suspend fun setupReportObserver() {
- reportController.reportFlow.collect {
+ (reportController.reportFlow as StateFlow<ReportController.Report>).collect {
_report.value = it
}
}
private suspend fun setupGeofenceObserver() {
- geofencesController.geofencesFlow.collect {
+ (geofencesController.geofencesFlow as StateFlow<Map<Int, Geofence>>).collect {
_geofences.value = it.values.toTypedArray()
}
}