From 1899cde3bd19dac0b88536c55d7a42b7507460ff Mon Sep 17 00:00:00 2001 From: liyanjin <36877356+grab-liyanjin@users.noreply.github.com> Date: Wed, 18 Jun 2025 17:58:39 +0800 Subject: [PATCH] Improve the logic to let source peers be consistent with C++ peers (#3561) --- .../main/java/org/maplibre/android/maps/Style.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/Style.java b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/Style.java index b9864b5ee..401b94c94 100644 --- a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/Style.java +++ b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/Style.java @@ -160,8 +160,11 @@ public class Style { */ public boolean removeSource(@NonNull String sourceId) { validateState("removeSource"); - sources.remove(sourceId); - return nativeMap.removeSource(sourceId); + boolean successful = nativeMap.removeSource(sourceId); + if (successful) { + sources.remove(sourceId); + } + return successful; } /** @@ -172,8 +175,11 @@ public class Style { */ public boolean removeSource(@NonNull Source source) { validateState("removeSource"); - sources.remove(source.getId()); - return nativeMap.removeSource(source); + boolean successful = nativeMap.removeSource(source); + if (successful) { + sources.remove(source.getId()); + } + return successful; } //