From 625bc6837bcc6a5cad4f73bef45c8e8978310cbe Mon Sep 17 00:00:00 2001 From: andrekir Date: Sat, 5 Oct 2024 09:30:40 -0300 Subject: [PATCH] fix(map): `generateBoxOverlay` event listener --- .../com/geeksville/mesh/ui/map/MapFragment.kt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/geeksville/mesh/ui/map/MapFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/map/MapFragment.kt index 19f7bb84..e228ce2f 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/map/MapFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/map/MapFragment.kt @@ -549,6 +549,17 @@ fun MapView( cacheEstimate = context.getString(R.string.map_cache_tiles, tileCount) } + val boxOverlayListener = object : MapListener { + override fun onScroll(event: ScrollEvent): Boolean { + map.generateBoxOverlay() + return true + } + + override fun onZoom(event: ZoomEvent): Boolean { + return false + } + } + fun startDownload() { val boundingBox = downloadRegionBoundingBox ?: return try { @@ -614,6 +625,7 @@ fun MapView( 0 -> showCurrentCacheInfo = true 1 -> { map.generateBoxOverlay() + map.addMapListener(boxOverlayListener) dialog.dismiss() } @@ -656,7 +668,7 @@ fun MapView( // Disables default +/- button for zooming zoomController.setVisibility(CustomZoomButtonsController.Visibility.NEVER) addMapEventListener { - model.updateMapCenterAndZoom(map.projection.currentCenter, map.zoomLevelDouble) + model.updateMapCenterAndZoom(projection.currentCenter, zoomLevelDouble) } zoomToNodes() } @@ -668,6 +680,7 @@ fun MapView( cacheEstimate = cacheEstimate, onExecuteJob = { startDownload() }, onCancelDownload = { + map.removeMapListener(boxOverlayListener) downloadRegionBoundingBox = null map.overlays.removeAll { it is Polygon } map.invalidate()