From 18987c3b31c2b8fe1a911297e8b104d583dd5c83 Mon Sep 17 00:00:00 2001 From: Iván Ávalos Date: Thu, 10 Mar 2022 20:33:40 -0600 Subject: - Card on map now updates info when there is a change - Huge device list performance improvements on search and updates --- .../TrackerMap/android/map/UnitMapFragment.kt | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt') 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) { -- cgit v1.2.3