summaryrefslogtreecommitdiff
path: root/platform/android/src/jni.cpp
diff options
context:
space:
mode:
authorJustin R. Miller <incanus@codesorcery.net>2017-01-18 12:43:08 -0800
committerGitHub <noreply@github.com>2017-01-18 12:43:08 -0800
commitf6715694f918a884eda77151aa4fec05521b9536 (patch)
treebd930307db9fb13ad5751324ae57bf858f30aa2a /platform/android/src/jni.cpp
parentd076ba05673a6ced9d3e641e2c7a2b5f3c70a80f (diff)
downloadqtlocation-mapboxgl-f6715694f918a884eda77151aa4fec05521b9536.tar.gz
refs #6779: mobile & Mac SDK style transition options (#7711)
Diffstat (limited to 'platform/android/src/jni.cpp')
-rwxr-xr-xplatform/android/src/jni.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/platform/android/src/jni.cpp b/platform/android/src/jni.cpp
index 5182e268f3..1ef7fec8fb 100755
--- a/platform/android/src/jni.cpp
+++ b/platform/android/src/jni.cpp
@@ -1082,6 +1082,48 @@ void nativeFlyTo(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jdouble
nativeMapView->getMap().flyTo(cameraOptions, animationOptions);
}
+jlong nativeGetTransitionDuration(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr) {
+ assert(env);
+ assert(nativeMapViewPtr != 0);
+
+ NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr);
+
+ const auto transitionOptions = nativeMapView->getMap().getTransitionOptions();
+ return transitionOptions.duration.value_or(mbgl::Duration::zero()).count();
+}
+
+void nativeSetTransitionDuration(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jlong duration) {
+ assert(env);
+ assert(nativeMapViewPtr != 0);
+
+ NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr);
+
+ auto transitionOptions = nativeMapView->getMap().getTransitionOptions();
+ transitionOptions.duration = std::chrono::duration_cast<mbgl::Duration>(std::chrono::duration<jlong>(duration));
+ nativeMapView->getMap().setTransitionOptions(transitionOptions);
+}
+
+jlong nativeGetTransitionDelay(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr) {
+ assert(env);
+ assert(nativeMapViewPtr != 0);
+
+ NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr);
+
+ const auto transitionOptions = nativeMapView->getMap().getTransitionOptions();
+ return transitionOptions.delay.value_or(mbgl::Duration::zero()).count();
+}
+
+void nativeSetTransitionDelay(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jlong delay) {
+ assert(env);
+ assert(nativeMapViewPtr != 0);
+
+ NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr);
+
+ auto transitionOptions = nativeMapView->getMap().getTransitionOptions();
+ transitionOptions.delay = std::chrono::duration_cast<mbgl::Duration>(std::chrono::duration<jlong>(delay));
+ nativeMapView->getMap().setTransitionOptions(transitionOptions);
+}
+
jni::jobject* nativeGetLayer(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jni::jstring* layerId) {
assert(env);
assert(nativeMapViewPtr != 0);
@@ -1876,6 +1918,10 @@ void registerNatives(JavaVM *vm) {
MAKE_NATIVE_METHOD(nativeJumpTo, "(JDDDDD)V"),
MAKE_NATIVE_METHOD(nativeEaseTo, "(JDDDJDDZ)V"),
MAKE_NATIVE_METHOD(nativeFlyTo, "(JDDDJDD)V"),
+ MAKE_NATIVE_METHOD(nativeGetTransitionDuration, "(J)J"),
+ MAKE_NATIVE_METHOD(nativeSetTransitionDuration, "(JJ)V"),
+ MAKE_NATIVE_METHOD(nativeGetTransitionDelay, "(J)J"),
+ MAKE_NATIVE_METHOD(nativeSetTransitionDelay, "(JJ)V"),
MAKE_NATIVE_METHOD(nativeGetLayer, "(JLjava/lang/String;)Lcom/mapbox/mapboxsdk/style/layers/Layer;"),
MAKE_NATIVE_METHOD(nativeAddLayer, "(JJLjava/lang/String;)V"),
MAKE_NATIVE_METHOD(nativeRemoveLayerById, "(JLjava/lang/String;)V"),