diff options
author | Łukasz Paczos <lukas.paczos@gmail.com> | 2019-08-28 16:44:02 +0200 |
---|---|---|
committer | Łukasz Paczos <lukasz.paczos@mapbox.com> | 2019-08-29 10:38:48 +0200 |
commit | 6a4e431dbef4c036b5b27b9972caea70bfc269fb (patch) | |
tree | cc954852aa97e16ec21a8552048cfdc6341a00c7 /platform/android/MapboxGLAndroidSDK | |
parent | 6998e9a8ed5a4055e61a7be7414efd055bc1d7a5 (diff) | |
download | qtlocation-mapboxgl-6a4e431dbef4c036b5b27b9972caea70bfc269fb.tar.gz |
[android] do not clear native layers and sources when style is reloading
This prevents unnecessary layers blink when the same components are re-added after the style reload.
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK')
3 files changed, 1 insertions, 21 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java index 5b2dcd8554..46de3673e4 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java @@ -1182,7 +1182,6 @@ public final class LocationComponent { } isLayerReady = false; - locationLayerController.hide(); staleStateManager.onStop(); if (compassEngine != null) { updateCompassListenerState(false); @@ -1289,6 +1288,7 @@ public final class LocationComponent { private void disableLocationComponent() { isEnabled = false; + locationLayerController.hide(); onLocationLayerStop(); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Style.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Style.java index a707ab13da..b21186050b 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Style.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Style.java @@ -523,14 +523,12 @@ public class Style { for (Layer layer : layers.values()) { if (layer != null) { layer.setDetached(); - nativeMap.removeLayer(layer); } } for (Source source : sources.values()) { if (source != null) { source.setDetached(); - nativeMap.removeSource(source); } } diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/StyleTest.kt b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/StyleTest.kt index d618f17500..a5070ae5c0 100644 --- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/StyleTest.kt +++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/StyleTest.kt @@ -405,22 +405,4 @@ class StyleTest { Assert.assertEquals("Layer that failed to be added shouldn't be cached", layer1, mapboxMap.style!!.getLayer("layer1")) } } - - @Test - fun testClearRemovesSourcesFirst() { - val source1 = mockk<GeoJsonSource>(relaxed = true) - every { source1.id } returns "source1" - val layer1 = mockk<SymbolLayer>(relaxed = true) - every { layer1.id } returns "layer1" - - val builder = Style.Builder().withLayer(layer1).withSource(source1) - mapboxMap.setStyle(builder) - mapboxMap.notifyStyleLoaded() - mapboxMap.setStyle(Style.MAPBOX_STREETS) - - verifyOrder { - nativeMapView.removeLayer(layer1) - nativeMapView.removeSource(source1) - } - } }
\ No newline at end of file |