aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt
diff options
context:
space:
mode:
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt19
1 files changed, 11 insertions, 8 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 e7e5ce0..5e2224b 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
@@ -85,7 +85,7 @@ class UnitMapFragment : Fragment() {
childFragmentManager.commit {
replace(R.id.unitsMap, mapFragment)
}
- mapFragment.setMarkerCallback(unitsViewModel::selectUnitWith)
+ mapFragment.setMarkerCallback(unitsViewModel::selectUnitWithPositionId)
}
private fun setupObservers() {
@@ -132,14 +132,16 @@ class UnitMapFragment : Fragment() {
), binding.mapUnitCard.context, unit, this::itemAction
)
- unitsViewModel.moveCamera(
- UnitsViewModel.Camera(
- point = Point2d(
- unit.position!!.longitude!!, unit.position!!.latitude!!
- ),
- animated = true
+ if (selectedUnit.device.id != unitsViewModel.oldSelectedUnit.value?.device?.id) {
+ unitsViewModel.moveCamera(
+ UnitsViewModel.Camera(
+ point = Point2d(
+ unit.position!!.longitude!!, unit.position!!.latitude!!
+ ),
+ animated = true
+ )
)
- )
+ }
}
}
@@ -178,6 +180,7 @@ class UnitMapFragment : Fragment() {
unitsViewModel.selectedUnit.removeObservers(viewLifecycleOwner)
unitsViewModel.mapLayerType.removeObservers(viewLifecycleOwner)
unitsViewModel.geofences.removeObservers(viewLifecycleOwner)
+ unitsViewModel.camera.removeObservers(viewLifecycleOwner)
}
private fun itemAction(unit: UnitInformation, action: UnitRenderData.Action) {