summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author“osana” <osana.babayan@mapbox.com>2018-10-24 12:52:31 -0400
committer“osana” <osana.babayan@mapbox.com>2018-10-30 13:32:22 -0400
commit18cd3dd7502b0682a2dfb0041fc7cb22d1746167 (patch)
tree0fdec99c4b21c0a599cb27d1b12089ad020b31c0
parent434f1861b599316f4dbd9adaee5cef307956861c (diff)
downloadqtlocation-mapboxgl-upstream/osana-12685.tar.gz
[android] consolitdated OfflineRegionDefinitionsupstream/osana-12685
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java35
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/TelemetryImpl.java24
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineGeometryRegionDefinition.java13
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionDefinition.java45
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineTilePyramidRegionDefinition.java13
5 files changed, 75 insertions, 55 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
index ea1ad02530..a5e354e18a 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
@@ -34,16 +34,13 @@ import com.mapbox.mapboxsdk.camera.CameraPosition;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
import com.mapbox.mapboxsdk.constants.Style;
-import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.location.LocationComponent;
import com.mapbox.mapboxsdk.maps.renderer.MapRenderer;
import com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.GLSurfaceViewMapRenderer;
import com.mapbox.mapboxsdk.maps.renderer.textureview.TextureViewMapRenderer;
import com.mapbox.mapboxsdk.maps.widgets.CompassView;
import com.mapbox.mapboxsdk.net.ConnectivityReceiver;
-import com.mapbox.mapboxsdk.offline.OfflineGeometryRegionDefinition;
import com.mapbox.mapboxsdk.offline.OfflineRegionDefinition;
-import com.mapbox.mapboxsdk.offline.OfflineTilePyramidRegionDefinition;
import com.mapbox.mapboxsdk.storage.FileSource;
import com.mapbox.mapboxsdk.utils.BitmapUtils;
@@ -553,21 +550,15 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
return;
}
- if (definition instanceof OfflineTilePyramidRegionDefinition) {
- setOfflineTilePyramidRegionDefinition((OfflineTilePyramidRegionDefinition) definition);
- } else if (definition instanceof OfflineGeometryRegionDefinition) {
- setOfflineGeometryRegionDefinition((OfflineGeometryRegionDefinition) definition);
- } else {
- throw new UnsupportedOperationException("OfflineRegionDefintion instance not supported");
- }
- }
+ double minZoom = definition.getMinZoom();
+ double maxZoom = definition.getMaxZoom();
- private void setOfflineRegionDefinition(String styleUrl, LatLng cameraTarget, double minZoom, double maxZoom) {
CameraPosition cameraPosition = new CameraPosition.Builder()
- .target(cameraTarget)
+ .target(definition.getBounds().getCenter())
.zoom(minZoom)
.build();
- setStyleUrl(styleUrl);
+ setStyleUrl(definition.getStyleURL());
+
if (!isMapInitialized()) {
mapboxMapOptions.camera(cameraPosition);
mapboxMapOptions.minZoomPreference(minZoom);
@@ -579,22 +570,6 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
mapboxMap.setMaxZoomPreference(maxZoom);
}
- private void setOfflineTilePyramidRegionDefinition(OfflineTilePyramidRegionDefinition regionDefinition) {
- setOfflineRegionDefinition(regionDefinition.getStyleURL(),
- regionDefinition.getBounds().getCenter(),
- regionDefinition.getMinZoom(),
- regionDefinition.getMaxZoom()
- );
- }
-
- private void setOfflineGeometryRegionDefinition(OfflineGeometryRegionDefinition regionDefinition) {
- setOfflineRegionDefinition(regionDefinition.getStyleURL(),
- regionDefinition.getBounds().getCenter(),
- regionDefinition.getMinZoom(),
- regionDefinition.getMaxZoom()
- );
- }
-
//
// Rendering
//
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/TelemetryImpl.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/TelemetryImpl.java
index e8e0504157..4630f4fa6a 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/TelemetryImpl.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/TelemetryImpl.java
@@ -13,9 +13,7 @@ import com.mapbox.mapboxsdk.MapStrictMode;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.log.Logger;
import com.mapbox.mapboxsdk.maps.TelemetryDefinition;
-import com.mapbox.mapboxsdk.offline.OfflineGeometryRegionDefinition;
import com.mapbox.mapboxsdk.offline.OfflineRegionDefinition;
-import com.mapbox.mapboxsdk.offline.OfflineTilePyramidRegionDefinition;
import java.lang.reflect.Field;
@@ -114,22 +112,12 @@ public class TelemetryImpl implements TelemetryDefinition {
@Override
public void onCreateOfflineRegion(OfflineRegionDefinition offlineDefinition) {
- MapEventFactory mapEventFactory = new MapEventFactory();
-
- Event mapOfflineEvent;
- if (offlineDefinition instanceof OfflineTilePyramidRegionDefinition) {
- OfflineTilePyramidRegionDefinition tileDefinition =
- (OfflineTilePyramidRegionDefinition)offlineDefinition;
- mapOfflineEvent = mapEventFactory.buildMapOfflineEvent(
- tileDefinition.getMinZoom(), tileDefinition.getMaxZoom(), "bounds",
- new String[]{tileDefinition.getStyleURL()});
- } else {
- OfflineGeometryRegionDefinition geometryDefinition =
- (OfflineGeometryRegionDefinition) offlineDefinition;
- mapOfflineEvent = mapEventFactory.buildMapOfflineEvent(
- geometryDefinition.getMinZoom(), geometryDefinition.getMaxZoom(), geometryDefinition.getGeometry().type(),
- new String[]{geometryDefinition.getStyleURL()});
- }
+ telemetry.push(
+ new MapEventFactory().buildMapOfflineEvent(
+ offlineDefinition.getMinZoom(),
+ offlineDefinition.getMaxZoom(),
+ offlineDefinition.getType(),
+ new String[]{offlineDefinition.getStyleURL()}));
}
/**
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineGeometryRegionDefinition.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineGeometryRegionDefinition.java
index 73e277dda3..97225e7283 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineGeometryRegionDefinition.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineGeometryRegionDefinition.java
@@ -66,10 +66,7 @@ public class OfflineGeometryRegionDefinition implements OfflineRegionDefinition,
this.pixelRatio = parcel.readFloat();
}
- /*
- * Getters
- */
-
+ @Override
public String getStyleURL() {
return styleURL;
}
@@ -93,18 +90,26 @@ public class OfflineGeometryRegionDefinition implements OfflineRegionDefinition,
return LatLngBounds.from(bbox[3], bbox[2], bbox[1], bbox[0]);
}
+ @Override
public double getMinZoom() {
return minZoom;
}
+ @Override
public double getMaxZoom() {
return maxZoom;
}
+ @Override
public float getPixelRatio() {
return pixelRatio;
}
+ @Override
+ public String getType() {
+ return "shaperegion";
+ }
+
/*
* Parceable
*/
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionDefinition.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionDefinition.java
index d1b18445fa..2631f74ccf 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionDefinition.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionDefinition.java
@@ -12,6 +12,51 @@ import com.mapbox.mapboxsdk.geometry.LatLngBounds;
@Keep
public interface OfflineRegionDefinition {
+ /**
+ * Gets the bounds of the OfflineRegion.
+ *
+ * @return the bounds of the OfflineRegion.
+ */
LatLngBounds getBounds();
+ /**
+ * Returns the map style url of the OfflineRegion.
+ *
+ * @return The URL of the map style.
+ * @since 7.0.0
+ */
+ String getStyleURL();
+
+ /**
+ * Gets the minimum zoom level the OfflineRegion map can be displayed at.
+ *
+ * @return The minimum zoom level.
+ * @since 7.0.0
+ */
+ double getMinZoom();
+
+ /**
+ * Gets the maximum zoom level the OfflineRegion map can be displayed at.
+ *
+ * @return The maximum zoom level.
+ * @since 7.0.0
+ */
+ double getMaxZoom();
+
+ /**
+ * Gets the pixel ratio of the OfflineRegion map.
+ *
+ * @return The pixel ratio of the OfflineRegion map.
+ * @since 7.0.0
+ */
+ float getPixelRatio();
+
+ /**
+ * Gest the type of the OfflineRegionDefinition for telemetry ("tileregion", "shaperegion").
+ *
+ * @return The type of the OfflineRegionDefinition.
+ * @since 7.0.0
+ */
+ String getType();
+
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineTilePyramidRegionDefinition.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineTilePyramidRegionDefinition.java
index b0d12859ed..7458481d71 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineTilePyramidRegionDefinition.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineTilePyramidRegionDefinition.java
@@ -67,30 +67,37 @@ public class OfflineTilePyramidRegionDefinition implements OfflineRegionDefiniti
this.pixelRatio = parcel.readFloat();
}
- /*
- * Getters
- */
+ @Override
public String getStyleURL() {
return styleURL;
}
+ @Override
public LatLngBounds getBounds() {
return bounds;
}
+ @Override
public double getMinZoom() {
return minZoom;
}
+ @Override
public double getMaxZoom() {
return maxZoom;
}
+ @Override
public float getPixelRatio() {
return pixelRatio;
}
+ @Override
+ public String getType() {
+ return "tileregion";
+ }
+
/*
* Parceable
*/