summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Zugaldia <antonio@mapbox.com>2016-03-03 13:14:14 -0500
committerAntonio Zugaldia <antonio@mapbox.com>2016-03-03 13:14:56 -0500
commitee12824c836b05b19e585d1ec290c771e6200ecd (patch)
treea87fe45a66cddbb49b684e878c92fcd8d14486fe
parent7ced8e97ba4240679c81f28ada288fad48b81799 (diff)
downloadqtlocation-mapboxgl-ee12824c836b05b19e585d1ec290c771e6200ecd.tar.gz
[android] Make listOfflineRegions include definitions
Fixes #4165
-rwxr-xr-xplatform/android/src/jni.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/platform/android/src/jni.cpp b/platform/android/src/jni.cpp
index 0da07d5fce..69c0740b45 100755
--- a/platform/android/src/jni.cpp
+++ b/platform/android/src/jni.cpp
@@ -484,6 +484,18 @@ static mbgl::LatLngBounds latlngbounds_from_java(JNIEnv *env, jobject latLngBoun
return result;
}
+static jobject latlngbounds_from_native(JNIEnv *env, mbgl::LatLngBounds bounds) {
+ double northLatitude = bounds.north();
+ double eastLongitude = bounds.east();
+ double southLatitude = bounds.south();
+ double westLongitude = bounds.west();
+
+ jobject jbounds = env->NewObject(latLngBoundsClass, latLngBoundsConstructorId,
+ northLatitude, eastLongitude, southLatitude, westLongitude);
+
+ return jbounds;
+}
+
}
}
@@ -1796,6 +1808,16 @@ void JNICALL listOfflineRegions(JNIEnv *env, jobject obj, jlong defaultFileSourc
jobject jregion = env2->NewObject(offlineRegionClass, offlineRegionConstructorId);
env2->SetObjectField(jregion, offlineRegionOfflineManagerId, obj);
env2->SetLongField(jregion, offlineRegionIdId, region.getID());
+
+ // Definition object
+ mbgl::OfflineTilePyramidRegionDefinition definition = region.getDefinition();
+ jobject jdefinition = env2->NewObject(offlineRegionDefinitionClass, offlineRegionDefinitionConstructorId);
+ env2->SetObjectField(jdefinition, offlineRegionDefinitionStyleURLId, std_string_to_jstring(env2, definition.styleURL));
+ env2->SetObjectField(jdefinition, offlineRegionDefinitionBoundsId, latlngbounds_from_native(env2, definition.bounds));
+ env2->SetDoubleField(jdefinition, offlineRegionDefinitionMinZoomId, definition.minZoom);
+ env2->SetDoubleField(jdefinition, offlineRegionDefinitionMaxZoomId, definition.maxZoom);
+ env2->SetFloatField(jdefinition, offlineRegionDefinitionPixelRatioId, definition.pixelRatio);
+ env2->SetObjectField(jregion, offlineRegionDefinitionId, jdefinition);
// Metadata object
jbyteArray metadata = metadata_from_native(env2, region.getMetadata());