From 938a62042864b455f0f291644c1f46273f7f6f0e Mon Sep 17 00:00:00 2001 From: Masashi Katsumata Date: Thu, 29 Oct 2026 01:37:50 -0700 Subject: [PATCH] Use the core reapplyStyle() for raster layers MapboxRasterLayerController.reapplyStyle() read the manager outside the controller lock and registered what it read again. Drop it and use the one in android-sdk-core's RasterLayerController (MapConductor/android-sdk-core#17), which runs under the lock. --- api/android-for-mapbox.api | 1 - .../raster/MapboxRasterLayerController.kt | 28 +------------------ 2 files changed, 1 insertion(+), 28 deletions(-) diff --git a/api/android-for-mapbox.api b/api/android-for-mapbox.api index a3bce19..3527d83 100644 --- a/api/android-for-mapbox.api +++ b/api/android-for-mapbox.api @@ -487,7 +487,6 @@ public final class com.mapconductor.mapbox.polyline.MapboxPolylineOverlayRendere public final class com.mapconductor.mapbox.raster.MapboxRasterLayerController extends com.mapconductor.core.raster.RasterLayerController { public com.mapconductor.mapbox.raster.MapboxRasterLayerController(com.mapconductor.core.raster.RasterLayerManagerInterface, com.mapconductor.mapbox.raster.MapboxRasterLayerOverlayRenderer); public com.mapconductor.mapbox.raster.MapboxRasterLayerController(com.mapconductor.core.raster.RasterLayerManagerInterface, com.mapconductor.mapbox.raster.MapboxRasterLayerOverlayRenderer, int, kotlin.jvm.internal.DefaultConstructorMarker); - public final java.lang.Object reapplyStyle(kotlin.coroutines.Continuation); } public final class com.mapconductor.mapbox.raster.MapboxRasterLayerHandle { public com.mapconductor.mapbox.raster.MapboxRasterLayerHandle(java.lang.String, java.lang.String); diff --git a/src/main/java/com/mapconductor/mapbox/raster/MapboxRasterLayerController.kt b/src/main/java/com/mapconductor/mapbox/raster/MapboxRasterLayerController.kt index 7e65960..df62068 100644 --- a/src/main/java/com/mapconductor/mapbox/raster/MapboxRasterLayerController.kt +++ b/src/main/java/com/mapconductor/mapbox/raster/MapboxRasterLayerController.kt @@ -1,36 +1,10 @@ package com.mapconductor.mapbox.raster import com.mapconductor.core.raster.RasterLayerController -import com.mapconductor.core.raster.RasterLayerEntity import com.mapconductor.core.raster.RasterLayerManager import com.mapconductor.core.raster.RasterLayerManagerInterface -import com.mapconductor.core.raster.RasterLayerOverlayRendererInterface -import com.mapconductor.core.raster.RasterLayerState class MapboxRasterLayerController( rasterLayerManager: RasterLayerManagerInterface = RasterLayerManager(), renderer: MapboxRasterLayerOverlayRenderer, -) : RasterLayerController(rasterLayerManager, renderer) { - suspend fun reapplyStyle() { - val states = rasterLayerManager.allEntities().map { it.state } - if (states.isEmpty()) return - val addParams = - states.map { state -> - object : RasterLayerOverlayRendererInterface.AddParamsInterface { - override val state: RasterLayerState = state - } - } - val layers = renderer.onAdd(addParams) - layers.forEachIndexed { index, layer -> - layer?.let { - rasterLayerManager.registerEntity( - RasterLayerEntity( - layer = it, - state = states[index], - ), - ) - } - } - renderer.onPostProcess() - } -} +) : RasterLayerController(rasterLayerManager, renderer)