diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2018-12-05 15:11:27 +0200 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2018-12-10 16:59:50 +0100 |
commit | 3ffb62b41956fd14fe9ed7d0f7779be9c0ec8325 (patch) | |
tree | f461a35569eee5a291023bb45710f85210b89a81 /platform | |
parent | 075443e18b868c559b79aaa861af05cb02ee323a (diff) | |
download | qtlocation-mapboxgl-3ffb62b41956fd14fe9ed7d0f7779be9c0ec8325.tar.gz |
[android] - introduce StyleCallback, make parent class for StateCallback
Diffstat (limited to 'platform')
2 files changed, 21 insertions, 17 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java index 69879d84ef..0f1a447a6c 100755 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java @@ -48,7 +48,7 @@ final class NativeMapView { private static final String TAG = "Mbgl-NativeMapView"; - //Hold a reference to prevent it from being GC'd as long as it's used on the native side + // Hold a reference to prevent it from being GC'd as long as it's used on the native side private final FileSource fileSource; // Used to schedule work on the MapRenderer Thread @@ -71,7 +71,8 @@ final class NativeMapView { // Flag to indicating destroy was called private boolean destroyed = false; - private Style style; + // Used for style load callbacks + private StyleCallback styleCallback; // Holds the pointer to JNI NativeMapView @Keep @@ -939,8 +940,8 @@ final class NativeMapView { @Keep private void onWillStartLoadingMap() { stateCallback.onWillStartLoadingMap(); - if (style != null) { - style.onWillStartLoadingStyle(); + if (styleCallback != null) { + styleCallback.onWillStartLoadingMap(); } } @@ -976,7 +977,7 @@ final class NativeMapView { @Keep private void onDidFinishLoadingStyle() { - style.onDidFinishLoadingStyle(); + styleCallback.onDidFinishLoadingStyle(); stateCallback.onDidFinishLoadingStyle(); } @@ -1341,9 +1342,8 @@ final class NativeMapView { }); } - // TODO remove dependency of Style on NativeMapView - public void setStyle(Style style) { - this.style = style; + void setStyleCallback(@NonNull StyleCallback callback) { + this.styleCallback = callback; } // @@ -1407,15 +1407,19 @@ final class NativeMapView { Bitmap getViewContent(); } - public interface StateCallback { + interface StyleCallback { + void onWillStartLoadingMap(); + + void onDidFinishLoadingStyle(); + } + + interface StateCallback extends StyleCallback { void onCameraWillChange(boolean animated); void onCameraIsChanging(); void onCameraDidChange(boolean animated); - void onWillStartLoadingMap(); - void onDidFinishLoadingMap(); void onDidFailLoadingMap(String error); @@ -1428,8 +1432,6 @@ final class NativeMapView { void onDidFinishRenderingMap(boolean fully); - void onDidFinishLoadingStyle(); - void onSourceChanged(String sourceId); } } 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 db82f4e266..cb60f2dbea 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 @@ -25,7 +25,7 @@ import java.util.List; * has been loaded by underlying map. * </p> */ -public class Style { +public class Style implements NativeMapView.StyleCallback { private final NativeMapView nativeMapView; private final HashMap<String, Source> sources = new HashMap<>(); @@ -365,7 +365,8 @@ public class Style { * Called when the underlying map will start loading a new style. This method will clean up this style * by setting the java sources and layers in a detached state and removing them from core. */ - void onWillStartLoadingStyle() { + @Override + public void onWillStartLoadingMap() { for (Source source : sources.values()) { if (source != null) { source.setDetached(); @@ -388,7 +389,8 @@ public class Style { * Called when the underlying map has finished loading this style. * This method will add all components added to the builder that were defined with the 'with' prefix. */ - void onDidFinishLoadingStyle() { + @Override + public void onDidFinishLoadingStyle() { if (!styleLoaded) { styleLoaded = true; for (Source source : builder.sources) { @@ -597,7 +599,7 @@ public class Style { */ void build(@NonNull NativeMapView nativeMapView, @Nullable OnStyleLoaded styleLoaded) { Style style = new Style(this, nativeMapView, styleLoaded); - nativeMapView.setStyle(style); + nativeMapView.setStyleCallback(style); if (styleUrl != null) { nativeMapView.setStyleUrl(styleUrl); |