summaryrefslogtreecommitdiff
path: root/platform/android/src
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src')
-rwxr-xr-xplatform/android/src/native_map_view.cpp41
-rwxr-xr-xplatform/android/src/native_map_view.hpp12
-rw-r--r--platform/android/src/style/transition_options.cpp12
-rw-r--r--platform/android/src/style/transition_options.hpp4
4 files changed, 35 insertions, 34 deletions
diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp
index c76b5c2610..2216b260ce 100755
--- a/platform/android/src/native_map_view.cpp
+++ b/platform/android/src/native_map_view.cpp
@@ -629,13 +629,11 @@ jni::Local<jni::Array<jlong>> NativeMapView::addPolygons(JNIEnv& env, const jni:
return result;
}
-//TODO: Move to Polyline class and make native peer
void NativeMapView::updatePolyline(JNIEnv& env, jlong polylineId, const jni::Object<Polyline>& polyline) {
mbgl::LineAnnotation annotation = Polyline::toAnnotation(env, polyline);
map->updateAnnotation(polylineId, annotation);
}
-//TODO: Move to Polygon class and make native peer
void NativeMapView::updatePolygon(JNIEnv& env, jlong polygonId, const jni::Object<Polygon>& polygon) {
mbgl::FillAnnotation annotation = Polygon::toAnnotation(env, polygon);
map->updateAnnotation(polygonId, annotation);
@@ -680,25 +678,18 @@ jdouble NativeMapView::getTopOffsetPixelsForAnnotationSymbol(JNIEnv& env, const
return map->getTopOffsetPixelsForAnnotationImage(jni::Make<std::string>(env, symbolName));
}
-jlong NativeMapView::getTransitionDuration(JNIEnv&) {
+jni::Local<jni::Object<TransitionOptions>> NativeMapView::getTransitionOptions(JNIEnv& env) {
const auto transitionOptions = map->getStyle().getTransitionOptions();
- return std::chrono::duration_cast<std::chrono::milliseconds>(transitionOptions.duration.value_or(mbgl::Duration::zero())).count();
+ const auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(transitionOptions.duration.value_or(mbgl::Duration::zero())).count();
+ const auto delay = std::chrono::duration_cast<std::chrono::milliseconds>(transitionOptions.delay.value_or(mbgl::Duration::zero())).count();
+ return TransitionOptions::fromTransitionOptions(env, duration, delay);
}
-void NativeMapView::setTransitionDuration(JNIEnv&, jlong duration) {
- auto transitionOptions = map->getStyle().getTransitionOptions();
- transitionOptions.duration.emplace(mbgl::Milliseconds(duration));
- map->getStyle().setTransitionOptions(transitionOptions);
-}
-
-jlong NativeMapView::getTransitionDelay(JNIEnv&) {
- const auto transitionOptions = map->getStyle().getTransitionOptions();
- return std::chrono::duration_cast<std::chrono::milliseconds>(transitionOptions.delay.value_or(mbgl::Duration::zero())).count();
-}
-
-void NativeMapView::setTransitionDelay(JNIEnv&, jlong delay) {
- auto transitionOptions = map->getStyle().getTransitionOptions();
- transitionOptions.delay.emplace(mbgl::Milliseconds(delay));
+void NativeMapView::setTransitionOptions(JNIEnv& env, const jni::Object<TransitionOptions>& options) {
+ const mbgl::style::TransitionOptions transitionOptions(
+ Duration(mbgl::Milliseconds(TransitionOptions::getDuration(env, options))),
+ Duration(mbgl::Milliseconds(TransitionOptions::getOffset(env, options)))
+ );
map->getStyle().setTransitionOptions(transitionOptions);
}
@@ -1012,11 +1003,11 @@ jni::Local<jni::Object<Bitmap>> NativeMapView::getImage(JNIEnv& env, const jni::
}
}
-void NativeMapView::setPrefetchesTiles(JNIEnv&, jni::jboolean enable) {
+void NativeMapView::setPrefetchTiles(JNIEnv&, jni::jboolean enable) {
map->setPrefetchZoomDelta(enable ? util::DEFAULT_PREFETCH_ZOOM_DELTA : uint8_t(0));
}
-jni::jboolean NativeMapView::getPrefetchesTiles(JNIEnv&) {
+jni::jboolean NativeMapView::getPrefetchTiles(JNIEnv&) {
return jni::jboolean(map->getPrefetchZoomDelta() > 0);
}
@@ -1093,10 +1084,8 @@ void NativeMapView::registerNative(jni::JNIEnv& env) {
METHOD(&NativeMapView::addAnnotationIcon, "nativeAddAnnotationIcon"),
METHOD(&NativeMapView::removeAnnotationIcon, "nativeRemoveAnnotationIcon"),
METHOD(&NativeMapView::getTopOffsetPixelsForAnnotationSymbol, "nativeGetTopOffsetPixelsForAnnotationSymbol"),
- METHOD(&NativeMapView::getTransitionDuration, "nativeGetTransitionDuration"),
- METHOD(&NativeMapView::setTransitionDuration, "nativeSetTransitionDuration"),
- METHOD(&NativeMapView::getTransitionDelay, "nativeGetTransitionDelay"),
- METHOD(&NativeMapView::setTransitionDelay, "nativeSetTransitionDelay"),
+ METHOD(&NativeMapView::getTransitionOptions, "nativeGetTransitionOptions"),
+ METHOD(&NativeMapView::setTransitionOptions, "nativeSetTransitionOptions"),
METHOD(&NativeMapView::queryPointAnnotations, "nativeQueryPointAnnotations"),
METHOD(&NativeMapView::queryShapeAnnotations, "nativeQueryShapeAnnotations"),
METHOD(&NativeMapView::queryRenderedFeaturesForPoint, "nativeQueryRenderedFeaturesForPoint"),
@@ -1118,8 +1107,8 @@ void NativeMapView::registerNative(jni::JNIEnv& env) {
METHOD(&NativeMapView::removeImage, "nativeRemoveImage"),
METHOD(&NativeMapView::getImage, "nativeGetImage"),
METHOD(&NativeMapView::setLatLngBounds, "nativeSetLatLngBounds"),
- METHOD(&NativeMapView::setPrefetchesTiles, "nativeSetPrefetchesTiles"),
- METHOD(&NativeMapView::getPrefetchesTiles, "nativeGetPrefetchesTiles")
+ METHOD(&NativeMapView::setPrefetchTiles, "nativeSetPrefetchTiles"),
+ METHOD(&NativeMapView::getPrefetchTiles, "nativeGetPrefetchTiles")
);
}
diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp
index 82666a2475..1bb4f23cbe 100755
--- a/platform/android/src/native_map_view.hpp
+++ b/platform/android/src/native_map_view.hpp
@@ -187,13 +187,9 @@ public:
jni::jdouble getTopOffsetPixelsForAnnotationSymbol(JNIEnv&, const jni::String&);
- jni::jlong getTransitionDuration(JNIEnv&);
+ jni::Local<jni::Object<TransitionOptions>> getTransitionOptions(JNIEnv&);
- void setTransitionDuration(JNIEnv&, jni::jlong);
-
- jni::jlong getTransitionDelay(JNIEnv&);
-
- void setTransitionDelay(JNIEnv&, jni::jlong);
+ void setTransitionOptions(JNIEnv&, const jni::Object<TransitionOptions>&);
jni::Local<jni::Array<jlong>> queryPointAnnotations(JNIEnv&, const jni::Object<RectF>&);
@@ -239,9 +235,9 @@ public:
jni::Local<jni::Object<Bitmap>> getImage(JNIEnv&, const jni::String&);
- void setPrefetchesTiles(JNIEnv&, jni::jboolean);
+ void setPrefetchTiles(JNIEnv&, jni::jboolean);
- jni::jboolean getPrefetchesTiles(JNIEnv&);
+ jni::jboolean getPrefetchTiles(JNIEnv&);
mbgl::Map& getMap();
diff --git a/platform/android/src/style/transition_options.cpp b/platform/android/src/style/transition_options.cpp
index b908c37089..320f3d64b1 100644
--- a/platform/android/src/style/transition_options.cpp
+++ b/platform/android/src/style/transition_options.cpp
@@ -9,6 +9,18 @@ jni::Local<jni::Object<TransitionOptions>> TransitionOptions::fromTransitionOpti
return javaClass.Call(env, method, duration, delay);
}
+long TransitionOptions::getDuration(jni::JNIEnv& env, const jni::Object<TransitionOptions>& transitionOptions) {
+ static auto& javaClass = jni::Class<TransitionOptions>::Singleton(env);
+ static auto field = javaClass.GetField<jlong>(env, "duration");
+ return transitionOptions.Get(env, field);
+}
+
+long TransitionOptions::getOffset(jni::JNIEnv& env, const jni::Object<TransitionOptions>& transitionOptions) {
+ static auto& javaClass = jni::Class<TransitionOptions>::Singleton(env);
+ static auto field = javaClass.GetField<jlong>(env, "offset");
+ return transitionOptions.Get(env, field);
+}
+
void TransitionOptions::registerNative(jni::JNIEnv& env) {
jni::Class<TransitionOptions>::Singleton(env);
}
diff --git a/platform/android/src/style/transition_options.hpp b/platform/android/src/style/transition_options.hpp
index 0bac43fa16..cca56afdb6 100644
--- a/platform/android/src/style/transition_options.hpp
+++ b/platform/android/src/style/transition_options.hpp
@@ -13,6 +13,10 @@ public:
static jni::Local<jni::Object<TransitionOptions>> fromTransitionOptions(jni::JNIEnv&, jlong duration, jlong offset);
+ static long getDuration(jni::JNIEnv&, const jni::Object<TransitionOptions>&);
+
+ static long getOffset(jni::JNIEnv&, const jni::Object<TransitionOptions>&);
+
static void registerNative(jni::JNIEnv&);
};