summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegion.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegion.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegion.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegion.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegion.java
index 7bcc6ad234..6a5e2bc294 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegion.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegion.java
@@ -6,8 +6,10 @@ import android.support.annotation.IntDef;
import android.support.annotation.Keep;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+
import com.mapbox.mapboxsdk.LibraryLoader;
import com.mapbox.mapboxsdk.Mapbox;
+import com.mapbox.mapboxsdk.maps.TelemetryDefinition;
import com.mapbox.mapboxsdk.storage.FileSource;
import java.lang.annotation.Retention;
@@ -45,6 +47,12 @@ public class OfflineRegion {
private OfflineRegionDefinition definition;
+ private TelemetryDefinition telemetry;
+
+ private static final String TAG = "OfflineRegion";
+
+ private boolean isLoading = false;
+
/**
* Arbitrary binary region metadata. The contents are opaque to the SDK implementation;
* it just stores and retrieves a byte[]. Check the `OfflineActivity` in the TestApp
@@ -228,6 +236,7 @@ public class OfflineRegion {
this.definition = definition;
this.metadata = metadata;
initialize(offlineRegionPtr, fileSource);
+ telemetry = Mapbox.getTelemetry();
}
/*
@@ -262,6 +271,15 @@ public class OfflineRegion {
if (observer != null) {
observer.onStatusChanged(status);
}
+ if (telemetry != null) {
+ if (!isLoading && status.getDownloadState() == STATE_ACTIVE) {
+ telemetry.onOfflineDownloadStart(definition);
+
+ } else if (status.isComplete()) {
+ telemetry.onOfflineDownloadEndSuccess(definition, status);
+ }
+ }
+ isLoading = status.getDownloadState() == STATE_ACTIVE;
}
});
}
@@ -276,6 +294,9 @@ public class OfflineRegion {
if (observer != null) {
observer.onError(error);
}
+ if (telemetry != null) {
+ telemetry.onOfflineDownloadEndFailure(definition, error);
+ }
}
});
}