diff options
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.kt | 15 |
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() } } |