diff options
Diffstat (limited to 'platform/android/src/style/layers/circle_layer.cpp')
-rw-r--r-- | platform/android/src/style/layers/circle_layer.cpp | 97 |
1 files changed, 43 insertions, 54 deletions
diff --git a/platform/android/src/style/layers/circle_layer.cpp b/platform/android/src/style/layers/circle_layer.cpp index 47a492dd43..9ec48d7b18 100644 --- a/platform/android/src/style/layers/circle_layer.cpp +++ b/platform/android/src/style/layers/circle_layer.cpp @@ -13,7 +13,7 @@ namespace android { /** * Creates an owning peer object (for layers not attached to the map) from the JVM side */ - CircleLayer::CircleLayer(jni::JNIEnv& env, jni::String layerId, jni::String sourceId) + CircleLayer::CircleLayer(jni::JNIEnv& env, jni::String& layerId, jni::String& sourceId) : Layer(env, std::make_unique<mbgl::style::CircleLayer>(jni::Make<std::string>(env, layerId), jni::Make<std::string>(env, sourceId))) { } @@ -35,16 +35,15 @@ namespace android { // Property getters - jni::Object<jni::ObjectTag> CircleLayer::getCircleRadius(jni::JNIEnv& env) { + jni::Local<jni::Object<>> CircleLayer::getCircleRadius(jni::JNIEnv& env) { using namespace mbgl::android::conversion; - Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleRadius()); - return jni::Object<jni::ObjectTag>(*converted); + return std::move(*convert<jni::Local<jni::Object<>>>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleRadius())); } - jni::Object<TransitionOptions> CircleLayer::getCircleRadiusTransition(jni::JNIEnv& env) { + jni::Local<jni::Object<TransitionOptions>> CircleLayer::getCircleRadiusTransition(jni::JNIEnv& env) { using namespace mbgl::android::conversion; mbgl::style::TransitionOptions options = layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleRadiusTransition(); - return *convert<jni::Object<TransitionOptions>>(env, options); + return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, options)); } void CircleLayer::setCircleRadiusTransition(jni::JNIEnv&, jlong duration, jlong delay) { @@ -54,16 +53,15 @@ namespace android { layer.as<mbgl::style::CircleLayer>()->CircleLayer::setCircleRadiusTransition(options); } - jni::Object<jni::ObjectTag> CircleLayer::getCircleColor(jni::JNIEnv& env) { + jni::Local<jni::Object<>> CircleLayer::getCircleColor(jni::JNIEnv& env) { using namespace mbgl::android::conversion; - Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleColor()); - return jni::Object<jni::ObjectTag>(*converted); + return std::move(*convert<jni::Local<jni::Object<>>>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleColor())); } - jni::Object<TransitionOptions> CircleLayer::getCircleColorTransition(jni::JNIEnv& env) { + jni::Local<jni::Object<TransitionOptions>> CircleLayer::getCircleColorTransition(jni::JNIEnv& env) { using namespace mbgl::android::conversion; mbgl::style::TransitionOptions options = layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleColorTransition(); - return *convert<jni::Object<TransitionOptions>>(env, options); + return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, options)); } void CircleLayer::setCircleColorTransition(jni::JNIEnv&, jlong duration, jlong delay) { @@ -73,16 +71,15 @@ namespace android { layer.as<mbgl::style::CircleLayer>()->CircleLayer::setCircleColorTransition(options); } - jni::Object<jni::ObjectTag> CircleLayer::getCircleBlur(jni::JNIEnv& env) { + jni::Local<jni::Object<>> CircleLayer::getCircleBlur(jni::JNIEnv& env) { using namespace mbgl::android::conversion; - Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleBlur()); - return jni::Object<jni::ObjectTag>(*converted); + return std::move(*convert<jni::Local<jni::Object<>>>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleBlur())); } - jni::Object<TransitionOptions> CircleLayer::getCircleBlurTransition(jni::JNIEnv& env) { + jni::Local<jni::Object<TransitionOptions>> CircleLayer::getCircleBlurTransition(jni::JNIEnv& env) { using namespace mbgl::android::conversion; mbgl::style::TransitionOptions options = layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleBlurTransition(); - return *convert<jni::Object<TransitionOptions>>(env, options); + return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, options)); } void CircleLayer::setCircleBlurTransition(jni::JNIEnv&, jlong duration, jlong delay) { @@ -92,16 +89,15 @@ namespace android { layer.as<mbgl::style::CircleLayer>()->CircleLayer::setCircleBlurTransition(options); } - jni::Object<jni::ObjectTag> CircleLayer::getCircleOpacity(jni::JNIEnv& env) { + jni::Local<jni::Object<>> CircleLayer::getCircleOpacity(jni::JNIEnv& env) { using namespace mbgl::android::conversion; - Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleOpacity()); - return jni::Object<jni::ObjectTag>(*converted); + return std::move(*convert<jni::Local<jni::Object<>>>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleOpacity())); } - jni::Object<TransitionOptions> CircleLayer::getCircleOpacityTransition(jni::JNIEnv& env) { + jni::Local<jni::Object<TransitionOptions>> CircleLayer::getCircleOpacityTransition(jni::JNIEnv& env) { using namespace mbgl::android::conversion; mbgl::style::TransitionOptions options = layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleOpacityTransition(); - return *convert<jni::Object<TransitionOptions>>(env, options); + return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, options)); } void CircleLayer::setCircleOpacityTransition(jni::JNIEnv&, jlong duration, jlong delay) { @@ -111,16 +107,15 @@ namespace android { layer.as<mbgl::style::CircleLayer>()->CircleLayer::setCircleOpacityTransition(options); } - jni::Object<jni::ObjectTag> CircleLayer::getCircleTranslate(jni::JNIEnv& env) { + jni::Local<jni::Object<>> CircleLayer::getCircleTranslate(jni::JNIEnv& env) { using namespace mbgl::android::conversion; - Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleTranslate()); - return jni::Object<jni::ObjectTag>(*converted); + return std::move(*convert<jni::Local<jni::Object<>>>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleTranslate())); } - jni::Object<TransitionOptions> CircleLayer::getCircleTranslateTransition(jni::JNIEnv& env) { + jni::Local<jni::Object<TransitionOptions>> CircleLayer::getCircleTranslateTransition(jni::JNIEnv& env) { using namespace mbgl::android::conversion; mbgl::style::TransitionOptions options = layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleTranslateTransition(); - return *convert<jni::Object<TransitionOptions>>(env, options); + return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, options)); } void CircleLayer::setCircleTranslateTransition(jni::JNIEnv&, jlong duration, jlong delay) { @@ -130,34 +125,30 @@ namespace android { layer.as<mbgl::style::CircleLayer>()->CircleLayer::setCircleTranslateTransition(options); } - jni::Object<jni::ObjectTag> CircleLayer::getCircleTranslateAnchor(jni::JNIEnv& env) { + jni::Local<jni::Object<>> CircleLayer::getCircleTranslateAnchor(jni::JNIEnv& env) { using namespace mbgl::android::conversion; - Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleTranslateAnchor()); - return jni::Object<jni::ObjectTag>(*converted); + return std::move(*convert<jni::Local<jni::Object<>>>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleTranslateAnchor())); } - jni::Object<jni::ObjectTag> CircleLayer::getCirclePitchScale(jni::JNIEnv& env) { + jni::Local<jni::Object<>> CircleLayer::getCirclePitchScale(jni::JNIEnv& env) { using namespace mbgl::android::conversion; - Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCirclePitchScale()); - return jni::Object<jni::ObjectTag>(*converted); + return std::move(*convert<jni::Local<jni::Object<>>>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCirclePitchScale())); } - jni::Object<jni::ObjectTag> CircleLayer::getCirclePitchAlignment(jni::JNIEnv& env) { + jni::Local<jni::Object<>> CircleLayer::getCirclePitchAlignment(jni::JNIEnv& env) { using namespace mbgl::android::conversion; - Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCirclePitchAlignment()); - return jni::Object<jni::ObjectTag>(*converted); + return std::move(*convert<jni::Local<jni::Object<>>>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCirclePitchAlignment())); } - jni::Object<jni::ObjectTag> CircleLayer::getCircleStrokeWidth(jni::JNIEnv& env) { + jni::Local<jni::Object<>> CircleLayer::getCircleStrokeWidth(jni::JNIEnv& env) { using namespace mbgl::android::conversion; - Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleStrokeWidth()); - return jni::Object<jni::ObjectTag>(*converted); + return std::move(*convert<jni::Local<jni::Object<>>>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleStrokeWidth())); } - jni::Object<TransitionOptions> CircleLayer::getCircleStrokeWidthTransition(jni::JNIEnv& env) { + jni::Local<jni::Object<TransitionOptions>> CircleLayer::getCircleStrokeWidthTransition(jni::JNIEnv& env) { using namespace mbgl::android::conversion; mbgl::style::TransitionOptions options = layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleStrokeWidthTransition(); - return *convert<jni::Object<TransitionOptions>>(env, options); + return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, options)); } void CircleLayer::setCircleStrokeWidthTransition(jni::JNIEnv&, jlong duration, jlong delay) { @@ -167,16 +158,15 @@ namespace android { layer.as<mbgl::style::CircleLayer>()->CircleLayer::setCircleStrokeWidthTransition(options); } - jni::Object<jni::ObjectTag> CircleLayer::getCircleStrokeColor(jni::JNIEnv& env) { + jni::Local<jni::Object<>> CircleLayer::getCircleStrokeColor(jni::JNIEnv& env) { using namespace mbgl::android::conversion; - Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleStrokeColor()); - return jni::Object<jni::ObjectTag>(*converted); + return std::move(*convert<jni::Local<jni::Object<>>>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleStrokeColor())); } - jni::Object<TransitionOptions> CircleLayer::getCircleStrokeColorTransition(jni::JNIEnv& env) { + jni::Local<jni::Object<TransitionOptions>> CircleLayer::getCircleStrokeColorTransition(jni::JNIEnv& env) { using namespace mbgl::android::conversion; mbgl::style::TransitionOptions options = layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleStrokeColorTransition(); - return *convert<jni::Object<TransitionOptions>>(env, options); + return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, options)); } void CircleLayer::setCircleStrokeColorTransition(jni::JNIEnv&, jlong duration, jlong delay) { @@ -186,16 +176,15 @@ namespace android { layer.as<mbgl::style::CircleLayer>()->CircleLayer::setCircleStrokeColorTransition(options); } - jni::Object<jni::ObjectTag> CircleLayer::getCircleStrokeOpacity(jni::JNIEnv& env) { + jni::Local<jni::Object<>> CircleLayer::getCircleStrokeOpacity(jni::JNIEnv& env) { using namespace mbgl::android::conversion; - Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleStrokeOpacity()); - return jni::Object<jni::ObjectTag>(*converted); + return std::move(*convert<jni::Local<jni::Object<>>>(env, layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleStrokeOpacity())); } - jni::Object<TransitionOptions> CircleLayer::getCircleStrokeOpacityTransition(jni::JNIEnv& env) { + jni::Local<jni::Object<TransitionOptions>> CircleLayer::getCircleStrokeOpacityTransition(jni::JNIEnv& env) { using namespace mbgl::android::conversion; mbgl::style::TransitionOptions options = layer.as<mbgl::style::CircleLayer>()->CircleLayer::getCircleStrokeOpacityTransition(); - return *convert<jni::Object<TransitionOptions>>(env, options); + return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, options)); } void CircleLayer::setCircleStrokeOpacityTransition(jni::JNIEnv&, jlong duration, jlong delay) { @@ -206,22 +195,22 @@ namespace android { } - jni::jobject* CircleLayer::createJavaPeer(jni::JNIEnv& env) { - static auto javaClass = jni::Class<CircleLayer>::Singleton(env); + jni::Local<jni::Object<Layer>> CircleLayer::createJavaPeer(jni::JNIEnv& env) { + static auto& javaClass = jni::Class<CircleLayer>::Singleton(env); static auto constructor = javaClass.GetConstructor<jni::jlong>(env); return javaClass.New(env, constructor, reinterpret_cast<jni::jlong>(this)); } void CircleLayer::registerNative(jni::JNIEnv& env) { // Lookup the class - static auto javaClass = jni::Class<CircleLayer>::Singleton(env); + static auto& javaClass = jni::Class<CircleLayer>::Singleton(env); #define METHOD(MethodPtr, name) jni::MakeNativePeerMethod<decltype(MethodPtr), (MethodPtr)>(name) // Register the peer jni::RegisterNativePeer<CircleLayer>( env, javaClass, "nativePtr", - std::make_unique<CircleLayer, JNIEnv&, jni::String, jni::String>, + jni::MakePeer<CircleLayer, jni::String&, jni::String&>, "initialize", "finalize", METHOD(&CircleLayer::getCircleRadiusTransition, "nativeGetCircleRadiusTransition"), |