summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2018-12-05 15:11:27 +0200
committerTobrun <tobrun@mapbox.com>2018-12-10 16:59:50 +0100
commit3ffb62b41956fd14fe9ed7d0f7779be9c0ec8325 (patch)
treef461a35569eee5a291023bb45710f85210b89a81
parent075443e18b868c559b79aaa861af05cb02ee323a (diff)
downloadqtlocation-mapboxgl-3ffb62b41956fd14fe9ed7d0f7779be9c0ec8325.tar.gz
[android] - introduce StyleCallback, make parent class for StateCallback
-rwxr-xr-xplatform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java28
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Style.java10
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);