summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Zugaldia <antonio@mapbox.com>2018-10-09 13:40:41 -0400
committerOsana Babayan <32496536+osana@users.noreply.github.com>2018-10-09 13:40:41 -0400
commit442e3f350fdd0e6472335b23d6a47f56ebeb90fd (patch)
tree7dcff21ca04dd5cadab190f7be9b7d41225b07d6
parent90ccf22dec0b6065f9bb78a2f0995dbc5dda7f1a (diff)
downloadqtlocation-mapboxgl-442e3f350fdd0e6472335b23d6a47f56ebeb90fd.tar.gz
[android] push a new mapofflineevent upon region creation (#12544)
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TelemetryDefinition.java9
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/telemetry/TelemetryImpl.java23
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java8
-rw-r--r--platform/android/gradle/dependencies.gradle2
4 files changed, 41 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TelemetryDefinition.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TelemetryDefinition.java
index 6e92e48a0c..3918c67129 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TelemetryDefinition.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TelemetryDefinition.java
@@ -1,5 +1,7 @@
package com.mapbox.mapboxsdk.maps;
+import com.mapbox.mapboxsdk.offline.OfflineRegionDefinition;
+
/**
* Definition of TelemetryImpl collection
*/
@@ -37,4 +39,11 @@ public interface TelemetryDefinition {
* @return true if rotation session id was updated
*/
boolean setSessionIdRotationInterval(int interval);
+
+ /**
+ * Register an end-user offline download event.
+ *
+ * @param offlineDefinition the offline region definition
+ */
+ void onCreateOfflineRegion(OfflineRegionDefinition offlineDefinition);
}
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 16a99a3272..e8e0504157 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,6 +13,9 @@ 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;
@@ -109,6 +112,26 @@ public class TelemetryImpl implements TelemetryDefinition {
return telemetry.updateSessionIdRotationInterval(new SessionInterval(interval));
}
+ @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()});
+ }
+ }
+
/**
* Set the debug logging state of telemetry.
*
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java
index cb9260b3cd..01258b917e 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java
@@ -10,9 +10,11 @@ import android.support.annotation.NonNull;
import com.mapbox.mapboxsdk.LibraryLoader;
import com.mapbox.mapboxsdk.MapStrictMode;
+import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.R;
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
import com.mapbox.mapboxsdk.log.Logger;
+import com.mapbox.mapboxsdk.maps.TelemetryDefinition;
import com.mapbox.mapboxsdk.net.ConnectivityReceiver;
import com.mapbox.mapboxsdk.storage.FileSource;
import com.mapbox.mapboxsdk.utils.FileUtils;
@@ -415,6 +417,12 @@ public class OfflineManager {
});
}
});
+
+ TelemetryDefinition telemetry = Mapbox.getTelemetry();
+ if (telemetry != null) {
+ LatLngBounds bounds = definition.getBounds();
+ telemetry.onCreateOfflineRegion(definition);
+ }
}
/**
diff --git a/platform/android/gradle/dependencies.gradle b/platform/android/gradle/dependencies.gradle
index be1c8a75e5..21b6047f9e 100644
--- a/platform/android/gradle/dependencies.gradle
+++ b/platform/android/gradle/dependencies.gradle
@@ -9,7 +9,7 @@ ext {
versions = [
mapboxServices : '3.4.1',
- mapboxTelemetry : '3.2.1',
+ mapboxTelemetry : '3.3.0',
mapboxGestures : '0.2.0',
supportLib : '27.1.1',
constraintLayout: '1.1.2',