diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionStatus.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionStatus.java index e65a20f18..48609a13b 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionStatus.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionStatus.java @@ -13,16 +13,28 @@ public class OfflineRegionStatus { @OfflineRegion.DownloadState private int downloadState = OfflineRegion.STATE_INACTIVE; /** - * The number of resources that have been fully downloaded and are ready for - * offline access. + * The number of resources (inclusive of tiles) that have been fully downloaded + * and are ready for offline access. */ private long completedResourceCount = 0; /** - * The cumulative size, in bytes, of all resources that have been fully downloaded. + * The cumulative size, in bytes, of all resources (inclusive of tiles) that have + * been fully downloaded. */ private long completedResourceSize = 0; + /** + * The number of tiles that have been fully downloaded and are ready for + * offline access. + */ + private long completedTileCount = 0; + + /** + * The cumulative size, in bytes, of all tiles that have been fully downloaded. + */ + private long completedTileSize = 0; + /** * The number of resources that are known to be required for this region. See the * documentation for `requiredResourceCountIsPrecise` for an important caveat @@ -73,6 +85,14 @@ public class OfflineRegionStatus { return completedResourceSize; } + public long getCompletedTileCount() { + return completedTileCount; + } + + public long getCompletedTileSize() { + return completedTileSize; + } + public long getRequiredResourceCount() { return requiredResourceCount; } diff --git a/platform/android/src/jni.cpp b/platform/android/src/jni.cpp index dfc355788..4a4aeeed7 100755 --- a/platform/android/src/jni.cpp +++ b/platform/android/src/jni.cpp @@ -140,6 +140,8 @@ jni::jmethodID* offlineRegionStatusConstructorId = nullptr; jni::jfieldID* offlineRegionStatusDownloadStateId = nullptr; jni::jfieldID* offlineRegionStatusCompletedResourceCountId = nullptr; jni::jfieldID* offlineRegionStatusCompletedResourceSizeId = nullptr; +jni::jfieldID* offlineRegionStatusCompletedTileCountId = nullptr; +jni::jfieldID* offlineRegionStatusCompletedTileSizeId = nullptr; jni::jfieldID* offlineRegionStatusRequiredResourceCountId = nullptr; jni::jfieldID* offlineRegionStatusRequiredResourceCountIsPreciseId = nullptr; @@ -1511,6 +1513,8 @@ void setOfflineRegionObserver(JNIEnv *env, jni::jobject* offlineRegion_, jni::jo jni::SetField(*env2, jstatus, *offlineRegionStatusDownloadStateId, downloadState); jni::SetField(*env2, jstatus, *offlineRegionStatusCompletedResourceCountId, status.completedResourceCount); jni::SetField(*env2, jstatus, *offlineRegionStatusCompletedResourceSizeId, status.completedResourceSize); + jni::SetField(*env2, jstatus, *offlineRegionStatusCompletedTileCountId, status.completedTileCount); + jni::SetField(*env2, jstatus, *offlineRegionStatusCompletedTileSizeId, status.completedTileSize); jni::SetField(*env2, jstatus, *offlineRegionStatusRequiredResourceCountId, status.requiredResourceCount); jni::SetField(*env2, jstatus, *offlineRegionStatusRequiredResourceCountIsPreciseId, status.requiredResourceCountIsPrecise); jni::CallMethod(*env2, observerCallback.get(), *offlineRegionObserveronStatusChangedId, jstatus); @@ -1943,6 +1947,8 @@ extern "C" JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) { offlineRegionStatusDownloadStateId = &jni::GetFieldID(env, *offlineRegionStatusClass, "downloadState", "I"); offlineRegionStatusCompletedResourceCountId = &jni::GetFieldID(env, *offlineRegionStatusClass, "completedResourceCount", "J"); offlineRegionStatusCompletedResourceSizeId = &jni::GetFieldID(env, *offlineRegionStatusClass, "completedResourceSize", "J"); + offlineRegionStatusCompletedTileCountId = &jni::GetFieldID(env, *offlineRegionStatusClass, "completedTileCount", "J"); + offlineRegionStatusCompletedTileSizeId = &jni::GetFieldID(env, *offlineRegionStatusClass, "completedTileSize", "J"); offlineRegionStatusRequiredResourceCountId = &jni::GetFieldID(env, *offlineRegionStatusClass, "requiredResourceCount", "J"); offlineRegionStatusRequiredResourceCountIsPreciseId = &jni::GetFieldID(env, *offlineRegionStatusClass, "requiredResourceCountIsPrecise", "Z");