aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt8
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt8
2 files changed, 13 insertions, 3 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt
index ca59266..e64afd3 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt
@@ -93,6 +93,10 @@ class UnitMapFragment : Fragment() {
binding.mapUnitCard.visibility = if (selectedUnit == null) View.GONE else View.VISIBLE
+ if (selectedUnit == null) {
+ unitsViewModel.clearCamera()
+ }
+
selectedUnit?.let { unit ->
if (unit.position == null || unit.position?.latitude == null || unit.position?.longitude == null) {
binding.mapUnitCard.visibility = View.GONE
@@ -142,7 +146,9 @@ class UnitMapFragment : Fragment() {
}
unitsViewModel.camera.observe(viewLifecycleOwner) { camera ->
- mapFragment.focusOn(camera.point.y, camera.point.x)
+ camera?.let {
+ mapFragment.focusOn(camera.point.y, camera.point.x)
+ }
}
}
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 ee6fa98..cb30725 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
@@ -40,7 +40,7 @@ class UnitsViewModel(
private var _selectedUnit = MutableLiveData<UnitInformation?>()
private var _mapLayerType = MutableLiveData<MapLayer.Type>()
private var _geofences = MutableLiveData<Map<Int, Geofence>>()
- private val _camera = MutableLiveData<Camera>()
+ private val _camera = MutableLiveData<Camera?>()
val searchQuery: LiveData<String> get() = _searchQuery
val unitsDisplayMode: LiveData<UnitsDisplayMode> get() = _unitsDisplayMode
@@ -48,7 +48,7 @@ class UnitsViewModel(
val selectedUnit: LiveData<UnitInformation?> get() = _selectedUnit
val mapLayerType: LiveData<MapLayer.Type> get() = _mapLayerType
val geofences: LiveData<Map<Int, Geofence>> get() = _geofences
- val camera: LiveData<Camera> get() = _camera
+ val camera: LiveData<Camera?> get() = _camera
init {
Log.d("UnitsViewModel", "Initializing Units View Model")
@@ -119,4 +119,8 @@ class UnitsViewModel(
fun moveCamera(point: Camera) {
_camera.postValue(point)
}
+
+ fun clearCamera() {
+ _camera.postValue(null)
+ }
} \ No newline at end of file