diff options
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.java | 21 |
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); + } } }); } |