aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2022-06-08 23:14:35 -0500
committerIván Ávalos <avalos@disroot.org>2022-06-08 23:14:35 -0500
commitd7790a50599f94422df6851d240e3993fb71aab7 (patch)
tree292d603264017b5e11644e77b4ef137f27eb77d0 /androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt
parentfc3e2a6e316cb8acd6aac0553c92f9dbc6b669b4 (diff)
parentec157026deea7b72ff233a20c0ed40fa548f75d6 (diff)
downloadetbsa-trackermap-mobile-d7790a50599f94422df6851d240e3993fb71aab7.tar.gz
etbsa-trackermap-mobile-d7790a50599f94422df6851d240e3993fb71aab7.tar.bz2
etbsa-trackermap-mobile-d7790a50599f94422df6851d240e3993fb71aab7.zip
Merge branch 'main' of https://git.sr.ht/~avalos/trackermap-mobile
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt20
1 files changed, 17 insertions, 3 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt
index 174d55e..b537c0b 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt
@@ -54,6 +54,7 @@ class UnitsViewModel(
private var _searchQuery = savedStateHandle.getLiveData("searchQuery", "")
private var _unitsDisplayMode = MutableLiveData(UnitsDisplayMode.MAP)
private var _units = MutableLiveData<List<UnitInformation>>()
+ private var _displayedUnits = MutableLiveData<List<UnitInformation>>()
private var _oldSelectedUnit = MutableLiveData<UnitInformation?>()
private var _selectedUnit = MutableLiveData<UnitInformation?>()
private var _mapLayerType = MutableLiveData<MapLayer.Type>()
@@ -63,6 +64,7 @@ class UnitsViewModel(
val searchQuery: LiveData<String> get() = _searchQuery
val unitsDisplayMode: LiveData<UnitsDisplayMode> get() = _unitsDisplayMode
val units: LiveData<List<UnitInformation>> get() = _units
+ val displayedUnits: LiveData<List<UnitInformation>> get() = _displayedUnits
val oldSelectedUnit: LiveData<UnitInformation?> get() = _oldSelectedUnit
val selectedUnit: LiveData<UnitInformation?> get() = _selectedUnit
val mapLayerType: LiveData<MapLayer.Type> get() = _mapLayerType
@@ -73,16 +75,27 @@ class UnitsViewModel(
Log.d("UnitsViewModel", "Initializing Units View Model")
unitsController.fetchUnits(viewModelScope)
viewModelScope.launch {
- setupObservers()
+ setupUnitsObserver()
}
viewModelScope.launch {
+ setupDisplayedUnitsObserver()
+ }
+
+ viewModelScope.launch {
setupGeofenceObserver()
}
}
- private suspend fun setupObservers() {
- Log.d("UnitsViewModel", "Setup observers")
+ private suspend fun setupUnitsObserver() {
unitsController.displayedUnitsFlow.collect { units ->
+ Log.d("UnitsViewModel", "Collecting units")
+ this._displayedUnits.value = units
+ }
+ }
+
+ private suspend fun setupDisplayedUnitsObserver() {
+ unitsController.unitsFlow.collect { units ->
+ Log.d("UnitsViewModel", "Collecting displayed units")
this._units.value = units
updateSelectedUnit()
}
@@ -90,6 +103,7 @@ class UnitsViewModel(
private suspend fun setupGeofenceObserver() {
geofenceController.geofencesFlow.collect {
+ Log.d("UnitsViewModel", "Collecting geofences")
this._geofences.postValue(it)
}
}