summaryrefslogtreecommitdiff
path: root/platform/android/src/style/sources/source.cpp
diff options
context:
space:
mode:
authorkevin <kevin.li@mapbox.com>2020-02-20 14:39:06 +0800
committerkevin <kevin.li@mapbox.com>2020-02-20 14:39:24 +0800
commitbf56a0a173d42a21e6d58b0f2048dde131e56ca2 (patch)
tree89af46809b5453ff7a6bf10e056d41018c07f9a5 /platform/android/src/style/sources/source.cpp
parent0c9ff59718b76ddd77a5af2e69bf30886367ad9d (diff)
downloadqtlocation-mapboxgl-bf56a0a173d42a21e6d58b0f2048dde131e56ca2.tar.gz
handle nullopt in setter and getter
Diffstat (limited to 'platform/android/src/style/sources/source.cpp')
-rw-r--r--platform/android/src/style/sources/source.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/platform/android/src/style/sources/source.cpp b/platform/android/src/style/sources/source.cpp
index 55b4c3c841..bbe8c82d3b 100644
--- a/platform/android/src/style/sources/source.cpp
+++ b/platform/android/src/style/sources/source.cpp
@@ -93,13 +93,21 @@ namespace android {
return attribution ? jni::Make<jni::String>(env, attribution.value()) : jni::Make<jni::String>(env,"");
}
- void Source::setPrefetchZoomDelta(jni::JNIEnv&, jint delta) {
- source.setPrefetchZoomDelta(delta);
+ void Source::setPrefetchZoomDelta(jni::JNIEnv& env, jni::String& delta) {
+ if (!delta) {
+ source.setPrefetchZoomDelta(nullopt);
+ } else {
+ const std::string deltaString = jni::Make<std::string>(env, delta);
+ source.setPrefetchZoomDelta(stoi(deltaString));
+ }
}
- jint Source::getPrefetchZoomDelta(jni::JNIEnv&) {
+ jni::Local<jni::String> Source::getPrefetchZoomDelta(jni::JNIEnv& env) {
auto delta = source.getPrefetchZoomDelta();
- return delta ? delta.value() : 0;
+ if (delta.has_value()) {
+ return jni::Make<jni::String>(env, std::to_string(delta.value()));
+ }
+ return jni::Make<jni::String>(env, "");
}
void Source::addToMap(JNIEnv& env, const jni::Object<Source>& obj, mbgl::Map& map, AndroidRendererFrontend& frontend) {