From 30ebae8e91774ec1ad5892bd474fb7dad8c73ebc Mon Sep 17 00:00:00 2001 From: Alexander Shalamov Date: Thu, 12 Mar 2020 13:17:02 +0200 Subject: Remove Map parameter from factories - remove unused map from factory interfaces. Map is only needed for repaint. --- platform/android/src/native_map_view.cpp | 20 +++++--- platform/android/src/native_map_view.hpp | 2 + .../android/src/snapshotter/map_snapshotter.cpp | 58 ++++++++++++++++++---- .../android/src/snapshotter/map_snapshotter.hpp | 22 +++----- .../android/src/style/layers/background_layer.cpp | 20 ++++---- .../android/src/style/layers/background_layer.hpp | 8 +-- platform/android/src/style/layers/circle_layer.cpp | 20 ++++---- platform/android/src/style/layers/circle_layer.hpp | 8 +-- platform/android/src/style/layers/custom_layer.cpp | 28 ++++------- platform/android/src/style/layers/custom_layer.hpp | 11 ++-- .../src/style/layers/fill_extrusion_layer.cpp | 20 ++++---- .../src/style/layers/fill_extrusion_layer.hpp | 8 +-- platform/android/src/style/layers/fill_layer.cpp | 16 +++--- platform/android/src/style/layers/fill_layer.hpp | 8 +-- .../android/src/style/layers/heatmap_layer.cpp | 20 ++++---- .../android/src/style/layers/heatmap_layer.hpp | 8 +-- .../android/src/style/layers/hillshade_layer.cpp | 20 ++++---- .../android/src/style/layers/hillshade_layer.hpp | 8 +-- platform/android/src/style/layers/layer.cpp | 18 ++----- platform/android/src/style/layers/layer.cpp.ejs | 16 +++--- platform/android/src/style/layers/layer.hpp | 19 +++---- platform/android/src/style/layers/layer.hpp.ejs | 8 +-- .../android/src/style/layers/layer_manager.cpp | 8 +-- .../android/src/style/layers/layer_manager.hpp | 4 +- platform/android/src/style/layers/line_layer.cpp | 16 +++--- platform/android/src/style/layers/line_layer.hpp | 8 +-- platform/android/src/style/layers/raster_layer.cpp | 20 ++++---- platform/android/src/style/layers/raster_layer.hpp | 8 +-- platform/android/src/style/layers/symbol_layer.cpp | 20 ++++---- platform/android/src/style/layers/symbol_layer.hpp | 8 +-- 30 files changed, 239 insertions(+), 219 deletions(-) diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp index f6e2e4a22f..b1eeb9fc2a 100644 --- a/platform/android/src/native_map_view.cpp +++ b/platform/android/src/native_map_view.cpp @@ -909,7 +909,7 @@ jni::Local>> NativeMapView::getLayers(JNIEnv& env) auto jLayers = jni::Array>::New(env, layers.size()); int index = 0; for (auto layer : layers) { - jLayers.Set(env, index, LayerManagerAndroid::get()->createJavaLayerPeer(env, *map, *layer)); + jLayers.Set(env, index, LayerManagerAndroid::get()->createJavaLayerPeer(env, *layer)); index++; } @@ -926,7 +926,7 @@ jni::Local> NativeMapView::getLayer(JNIEnv& env, const jni::S } // Create and return the layer's native peer - return LayerManagerAndroid::get()->createJavaLayerPeer(env, *map, *coreLayer); + return LayerManagerAndroid::get()->createJavaLayerPeer(env, *coreLayer); } void NativeMapView::addLayer(JNIEnv& env, jlong nativeLayerPtr, const jni::String& before) { @@ -934,7 +934,7 @@ void NativeMapView::addLayer(JNIEnv& env, jlong nativeLayerPtr, const jni::Strin Layer *layer = reinterpret_cast(nativeLayerPtr); try { - layer->addToMap(*map, before ? mbgl::optional(jni::Make(env, before)) : mbgl::optional()); + layer->addToStyle(map->getStyle(), before ? mbgl::optional(jni::Make(env, before)) : mbgl::optional()); } catch (const std::runtime_error& error) { jni::ThrowNew(env, jni::FindClass(env, "com/mapbox/mapboxsdk/style/layers/CannotAddLayerException"), error.what()); } @@ -971,7 +971,7 @@ void NativeMapView::addLayerAbove(JNIEnv& env, jlong nativeLayerPtr, const jni:: // Add the layer try { - layer->addToMap(*map, before); + layer->addToStyle(map->getStyle(), before); } catch (const std::runtime_error& error) { jni::ThrowNew(env, jni::FindClass(env, "com/mapbox/mapboxsdk/style/layers/CannotAddLayerException"), error.what()); } @@ -994,7 +994,7 @@ void NativeMapView::addLayerAt(JNIEnv& env, jlong nativeLayerPtr, jni::jint inde // Insert it below the current at that index try { - layer->addToMap(*map, layers.at(index)->getID()); + layer->addToStyle(map->getStyle(), layers.at(index)->getID()); } catch (const std::runtime_error& error) { jni::ThrowNew(env, jni::FindClass(env, "com/mapbox/mapboxsdk/style/layers/CannotAddLayerException"), error.what()); } @@ -1017,7 +1017,7 @@ jni::jboolean NativeMapView::removeLayerAt(JNIEnv& env, jni::jint index) { std::unique_ptr coreLayer = map->getStyle().removeLayer(layers.at(index)->getID()); if (coreLayer) { jni::Local> layerObj = - LayerManagerAndroid::get()->createJavaLayerPeer(env, *map, std::move(coreLayer)); + LayerManagerAndroid::get()->createJavaLayerPeer(env, std::move(coreLayer)); return jni::jni_true; } return jni::jni_false; @@ -1141,6 +1141,11 @@ mbgl::Map& NativeMapView::getMap() { return *map; } +void NativeMapView::triggerRepaint(JNIEnv&) { + assert(map); + map->triggerRepaint(); +} + // Static methods // void NativeMapView::registerNative(jni::JNIEnv& env) { @@ -1248,7 +1253,8 @@ void NativeMapView::registerNative(jni::JNIEnv& env) { METHOD(&NativeMapView::setPrefetchTiles, "nativeSetPrefetchTiles"), METHOD(&NativeMapView::getPrefetchTiles, "nativeGetPrefetchTiles"), METHOD(&NativeMapView::setPrefetchZoomDelta, "nativeSetPrefetchZoomDelta"), - METHOD(&NativeMapView::getPrefetchZoomDelta, "nativeGetPrefetchZoomDelta")); + METHOD(&NativeMapView::getPrefetchZoomDelta, "nativeGetPrefetchZoomDelta"), + METHOD(&NativeMapView::triggerRepaint, "nativeTriggerRepaint")); } } // namespace android diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp index ccd62e0b45..be632e242d 100644 --- a/platform/android/src/native_map_view.hpp +++ b/platform/android/src/native_map_view.hpp @@ -253,6 +253,8 @@ public: mbgl::Map& getMap(); + void triggerRepaint(JNIEnv&); + private: std::unique_ptr rendererFrontend; diff --git a/platform/android/src/snapshotter/map_snapshotter.cpp b/platform/android/src/snapshotter/map_snapshotter.cpp index c3172c1cbd..091757f844 100644 --- a/platform/android/src/snapshotter/map_snapshotter.cpp +++ b/platform/android/src/snapshotter/map_snapshotter.cpp @@ -42,7 +42,7 @@ MapSnapshotter::MapSnapshotter(jni::JNIEnv& _env, size, pixelRatio, mbgl::android::FileSource::getSharedResourceOptions(_env, _jFileSource), - observer, + *this, _localIdeographFontFamily ? jni::Make(_env, _localIdeographFontFamily) : optional{}); if (position) { @@ -58,6 +58,7 @@ MapSnapshotter::MapSnapshotter(jni::JNIEnv& _env, } else { snapshotter->setStyleURL(jni::Make(_env, styleURL)); } + activateFilesource(_env); } MapSnapshotter::~MapSnapshotter() = default; @@ -125,16 +126,6 @@ void MapSnapshotter::setRegion(JNIEnv& env, const jni::Object& reg snapshotter->setRegion(LatLngBounds::getLatLngBounds(env, region)); } -void MapSnapshotter::addLayer(JNIEnv &, jlong nativeLayerPtr) { - assert(nativeLayerPtr != 0); - Layer *layer = reinterpret_cast(nativeLayerPtr); - style::Layer &t = layer->get(); - std::unique_ptr u (&t); - observer.didFinishLoadingStyleCallback= [&] { - snapshotter->getStyle().addLayer(std::move(u)); - }; -} - // Private methods // void MapSnapshotter::activateFilesource(JNIEnv& env) { @@ -151,6 +142,51 @@ void MapSnapshotter::deactivateFilesource(JNIEnv& env) { } } +void MapSnapshotter::onDidFailLoadingStyle(const std::string& error) { + MBGL_VERIFY_THREAD(tid); + android::UniqueEnv _env = android::AttachEnv(); + static auto& javaClass = jni::Class::Singleton(*_env); + static auto onDidFailLoadingStyle = javaClass.GetMethod(*_env, "onDidFailLoadingStyle"); + auto weakReference = javaPeer.get(*_env); + if (weakReference) { + weakReference.Call(*_env, onDidFailLoadingStyle, jni::Make(*_env, error)); + } +} + +void MapSnapshotter::onDidFinishLoadingStyle() { + MBGL_VERIFY_THREAD(tid); + android::UniqueEnv _env = android::AttachEnv(); + + static auto& javaClass = jni::Class::Singleton(*_env); + static auto onDidFinishLoadingStyle = javaClass.GetMethod(*_env, "onDidFinishLoadingStyle"); + auto weakReference = javaPeer.get(*_env); + if (weakReference) { + weakReference.Call(*_env, onDidFinishLoadingStyle); + } +} + +void MapSnapshotter::onStyleImageMissing(const std::string& imageName) { + MBGL_VERIFY_THREAD(tid); + android::UniqueEnv _env = android::AttachEnv(); + static auto& javaClass = jni::Class::Singleton(*_env); + static auto onStyleImageMissing = javaClass.GetMethod(*_env, "onStyleImageMissing"); + auto weakReference = javaPeer.get(*_env); + if (weakReference) { + weakReference.Call(*_env, onStyleImageMissing, jni::Make(*_env, imageName)); + } +} + +void MapSnapshotter::addLayer(JNIEnv& env, jlong nativeLayerPtr, const jni::String& before) { + assert(nativeLayerPtr != 0); + + Layer *layer = reinterpret_cast(nativeLayerPtr); + try { + layer->addToStyle(snapshotter->getStyle(), before ? mbgl::optional(jni::Make(env, before)) : mbgl::optional()); + } catch (const std::runtime_error& error) { + jni::ThrowNew(env, jni::FindClass(env, "com/mapbox/mapboxsdk/style/layers/CannotAddLayerException"), error.what()); + } +} + // Static methods // void MapSnapshotter::registerNative(jni::JNIEnv& env) { diff --git a/platform/android/src/snapshotter/map_snapshotter.hpp b/platform/android/src/snapshotter/map_snapshotter.hpp index 96214df090..902f7650e5 100644 --- a/platform/android/src/snapshotter/map_snapshotter.hpp +++ b/platform/android/src/snapshotter/map_snapshotter.hpp @@ -14,18 +14,8 @@ namespace mbgl { namespace android { - class SnapshotObserver final : public mbgl::MapSnapshotterObserver { - public: - ~SnapshotObserver() = default; - void onDidFinishLoadingStyle() override { - if (didFinishLoadingStyleCallback) { - didFinishLoadingStyleCallback(); - } - } - std::function didFinishLoadingStyleCallback; - }; - -class MapSnapshotter { + +class MapSnapshotter final : public mbgl::MapSnapshotterObserver { public: static constexpr auto Name() { return "com/mapbox/mapboxsdk/snapshotter/MapSnapshotter"; }; @@ -61,7 +51,12 @@ public: void cancel(JNIEnv&); - void addLayer(JNIEnv&, jlong); + void addLayer(JNIEnv&, jlong, const jni::String&); + + // MapSnapshotterObserver overrides + void onDidFailLoadingStyle(const std::string&) override; + void onDidFinishLoadingStyle() override; + void onStyleImageMissing(const std::string&) override; private: MBGL_STORE_THREAD(tid); @@ -73,7 +68,6 @@ private: bool showLogo; std::unique_ptr snapshotter; - SnapshotObserver observer; FileSource *jFileSource; void activateFilesource(JNIEnv&); void deactivateFilesource(JNIEnv&); diff --git a/platform/android/src/style/layers/background_layer.cpp b/platform/android/src/style/layers/background_layer.cpp index e28fd0798b..d0084dc2de 100644 --- a/platform/android/src/style/layers/background_layer.cpp +++ b/platform/android/src/style/layers/background_layer.cpp @@ -26,15 +26,15 @@ namespace android { /** * Creates a non-owning peer object (for layers currently attached to the map) */ - BackgroundLayer::BackgroundLayer(mbgl::Map& map, mbgl::style::BackgroundLayer& coreLayer) - : Layer(map, coreLayer) { + BackgroundLayer::BackgroundLayer(mbgl::style::BackgroundLayer& coreLayer) + : Layer(coreLayer) { } /** * Creates an owning peer object (for layers not attached to the map) */ - BackgroundLayer::BackgroundLayer(mbgl::Map& map, std::unique_ptr coreLayer) - : Layer(map, std::move(coreLayer)) { + BackgroundLayer::BackgroundLayer(std::unique_ptr coreLayer) + : Layer(std::move(coreLayer)) { } BackgroundLayer::~BackgroundLayer() = default; @@ -108,14 +108,14 @@ namespace android { } } // namespace - jni::Local> BackgroundJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { + jni::Local> BackgroundJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::style::Layer& layer) { assert(layer.baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new BackgroundLayer(map, toBackgroundLayer(layer))); + return createJavaPeer(env, new BackgroundLayer(toBackgroundLayer(layer))); } - jni::Local> BackgroundJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { + jni::Local> BackgroundJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr layer) { assert(layer->baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new BackgroundLayer(map, std::unique_ptr(static_cast(layer.release())))); + return createJavaPeer(env, new BackgroundLayer(std::unique_ptr(static_cast(layer.release())))); } void BackgroundJavaLayerPeerFactory::registerNative(jni::JNIEnv& env) { @@ -126,7 +126,9 @@ namespace android { // Register the peer jni::RegisterNativePeer( - env, javaClass, "nativePtr", + env, + javaClass, + "nativePtr", jni::MakePeer, "initialize", "finalize", diff --git a/platform/android/src/style/layers/background_layer.hpp b/platform/android/src/style/layers/background_layer.hpp index 654031c6f4..e402dc021c 100644 --- a/platform/android/src/style/layers/background_layer.hpp +++ b/platform/android/src/style/layers/background_layer.hpp @@ -18,9 +18,9 @@ public: BackgroundLayer(jni::JNIEnv&, jni::String&); - BackgroundLayer(mbgl::Map&, mbgl::style::BackgroundLayer&); + BackgroundLayer(mbgl::style::BackgroundLayer&); - BackgroundLayer(mbgl::Map&, std::unique_ptr); + BackgroundLayer(std::unique_ptr); ~BackgroundLayer(); @@ -45,8 +45,8 @@ public: ~BackgroundJavaLayerPeerFactory() override; // JavaLayerPeerFactory overrides. - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final; - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) final; void registerNative(jni::JNIEnv&) final; diff --git a/platform/android/src/style/layers/circle_layer.cpp b/platform/android/src/style/layers/circle_layer.cpp index f460031dcd..54267e819a 100644 --- a/platform/android/src/style/layers/circle_layer.cpp +++ b/platform/android/src/style/layers/circle_layer.cpp @@ -26,15 +26,15 @@ namespace android { /** * Creates a non-owning peer object (for layers currently attached to the map) */ - CircleLayer::CircleLayer(mbgl::Map& map, mbgl::style::CircleLayer& coreLayer) - : Layer(map, coreLayer) { + CircleLayer::CircleLayer(mbgl::style::CircleLayer& coreLayer) + : Layer(coreLayer) { } /** * Creates an owning peer object (for layers not attached to the map) */ - CircleLayer::CircleLayer(mbgl::Map& map, std::unique_ptr coreLayer) - : Layer(map, std::move(coreLayer)) { + CircleLayer::CircleLayer(std::unique_ptr coreLayer) + : Layer(std::move(coreLayer)) { } CircleLayer::~CircleLayer() = default; @@ -213,14 +213,14 @@ namespace android { } } // namespace - jni::Local> CircleJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { + jni::Local> CircleJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::style::Layer& layer) { assert(layer.baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new CircleLayer(map, toCircleLayer(layer))); + return createJavaPeer(env, new CircleLayer(toCircleLayer(layer))); } - jni::Local> CircleJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { + jni::Local> CircleJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr layer) { assert(layer->baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new CircleLayer(map, std::unique_ptr(static_cast(layer.release())))); + return createJavaPeer(env, new CircleLayer(std::unique_ptr(static_cast(layer.release())))); } void CircleJavaLayerPeerFactory::registerNative(jni::JNIEnv& env) { @@ -231,7 +231,9 @@ namespace android { // Register the peer jni::RegisterNativePeer( - env, javaClass, "nativePtr", + env, + javaClass, + "nativePtr", jni::MakePeer, "initialize", "finalize", diff --git a/platform/android/src/style/layers/circle_layer.hpp b/platform/android/src/style/layers/circle_layer.hpp index 191b3924ff..40dca91e2e 100644 --- a/platform/android/src/style/layers/circle_layer.hpp +++ b/platform/android/src/style/layers/circle_layer.hpp @@ -18,9 +18,9 @@ public: CircleLayer(jni::JNIEnv&, jni::String&, jni::String&); - CircleLayer(mbgl::Map&, mbgl::style::CircleLayer&); + CircleLayer(mbgl::style::CircleLayer&); - CircleLayer(mbgl::Map&, std::unique_ptr); + CircleLayer(std::unique_ptr); ~CircleLayer(); @@ -71,8 +71,8 @@ public: ~CircleJavaLayerPeerFactory() override; // JavaLayerPeerFactory overrides. - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final; - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) final; void registerNative(jni::JNIEnv&) final; diff --git a/platform/android/src/style/layers/custom_layer.cpp b/platform/android/src/style/layers/custom_layer.cpp index 3f44aa8505..329e7285e2 100644 --- a/platform/android/src/style/layers/custom_layer.cpp +++ b/platform/android/src/style/layers/custom_layer.cpp @@ -14,25 +14,16 @@ namespace android { ) { } - CustomLayer::CustomLayer(mbgl::Map& map, mbgl::style::CustomLayer& coreLayer) - : Layer(map, coreLayer) { + CustomLayer::CustomLayer(mbgl::style::CustomLayer& coreLayer) + : Layer(coreLayer) { } - CustomLayer::CustomLayer(mbgl::Map& map, std::unique_ptr coreLayer) - : Layer(map, std::move(coreLayer)) { + CustomLayer::CustomLayer(std::unique_ptr coreLayer) + : Layer(std::move(coreLayer)) { } CustomLayer::~CustomLayer() = default; - void CustomLayer::update(jni::JNIEnv&) { - Log::Debug(mbgl::Event::JNI, "Updating map"); - if (map) { - map->triggerRepaint(); - } else { - Log::Error(mbgl::Event::JNI, "No map reference, cannot update"); - } - } - namespace { jni::Local> createJavaPeer(jni::JNIEnv& env, Layer* layer) { static auto& javaClass = jni::Class::Singleton(env); @@ -43,12 +34,12 @@ namespace android { CustomJavaLayerPeerFactory::~CustomJavaLayerPeerFactory() = default; - jni::Local> CustomJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { - return createJavaPeer(env, new CustomLayer(map, static_cast(layer))); + jni::Local> CustomJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::style::Layer& layer) { + return createJavaPeer(env, new CustomLayer(static_cast(layer))); } - jni::Local> CustomJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { - return createJavaPeer(env, new CustomLayer(map, std::unique_ptr(static_cast(layer.release())))); + jni::Local> CustomJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr layer) { + return createJavaPeer(env, new CustomLayer(std::unique_ptr(static_cast(layer.release())))); } void CustomJavaLayerPeerFactory::registerNative(jni::JNIEnv& env) { @@ -62,8 +53,7 @@ namespace android { env, javaClass, "nativePtr", jni::MakePeer, "initialize", - "finalize", - METHOD(&CustomLayer::update, "nativeUpdate")); + "finalize"); } } // namespace android diff --git a/platform/android/src/style/layers/custom_layer.hpp b/platform/android/src/style/layers/custom_layer.hpp index dc328a2137..3856ea73ae 100644 --- a/platform/android/src/style/layers/custom_layer.hpp +++ b/platform/android/src/style/layers/custom_layer.hpp @@ -16,14 +16,11 @@ public: static void registerNative(jni::JNIEnv&); CustomLayer(jni::JNIEnv&, const jni::String&, jni::jlong); - CustomLayer(mbgl::Map&, mbgl::style::CustomLayer&); - CustomLayer(mbgl::Map&, std::unique_ptr); + CustomLayer(mbgl::style::CustomLayer&); + CustomLayer(std::unique_ptr); ~CustomLayer(); - void update(jni::JNIEnv&); - jni::Local> createJavaPeer(jni::JNIEnv&); - }; // class CustomLayer class CustomJavaLayerPeerFactory final : public JavaLayerPeerFactory, public mbgl::CustomLayerFactory { @@ -31,8 +28,8 @@ public: ~CustomJavaLayerPeerFactory() override; // JavaLayerPeerFactory overrides. - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final; - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) final; void registerNative(jni::JNIEnv&) final; diff --git a/platform/android/src/style/layers/fill_extrusion_layer.cpp b/platform/android/src/style/layers/fill_extrusion_layer.cpp index ddfbd71544..9b7c66a0a5 100644 --- a/platform/android/src/style/layers/fill_extrusion_layer.cpp +++ b/platform/android/src/style/layers/fill_extrusion_layer.cpp @@ -26,15 +26,15 @@ namespace android { /** * Creates a non-owning peer object (for layers currently attached to the map) */ - FillExtrusionLayer::FillExtrusionLayer(mbgl::Map& map, mbgl::style::FillExtrusionLayer& coreLayer) - : Layer(map, coreLayer) { + FillExtrusionLayer::FillExtrusionLayer(mbgl::style::FillExtrusionLayer& coreLayer) + : Layer(coreLayer) { } /** * Creates an owning peer object (for layers not attached to the map) */ - FillExtrusionLayer::FillExtrusionLayer(mbgl::Map& map, std::unique_ptr coreLayer) - : Layer(map, std::move(coreLayer)) { + FillExtrusionLayer::FillExtrusionLayer(std::unique_ptr coreLayer) + : Layer(std::move(coreLayer)) { } FillExtrusionLayer::~FillExtrusionLayer() = default; @@ -172,14 +172,14 @@ namespace android { } } // namespace - jni::Local> FillExtrusionJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { + jni::Local> FillExtrusionJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::style::Layer& layer) { assert(layer.baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new FillExtrusionLayer(map, toFillExtrusionLayer(layer))); + return createJavaPeer(env, new FillExtrusionLayer(toFillExtrusionLayer(layer))); } - jni::Local> FillExtrusionJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { + jni::Local> FillExtrusionJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr layer) { assert(layer->baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new FillExtrusionLayer(map, std::unique_ptr(static_cast(layer.release())))); + return createJavaPeer(env, new FillExtrusionLayer(std::unique_ptr(static_cast(layer.release())))); } void FillExtrusionJavaLayerPeerFactory::registerNative(jni::JNIEnv& env) { @@ -190,7 +190,9 @@ namespace android { // Register the peer jni::RegisterNativePeer( - env, javaClass, "nativePtr", + env, + javaClass, + "nativePtr", jni::MakePeer, "initialize", "finalize", diff --git a/platform/android/src/style/layers/fill_extrusion_layer.hpp b/platform/android/src/style/layers/fill_extrusion_layer.hpp index 15dad67b01..6f0a24131c 100644 --- a/platform/android/src/style/layers/fill_extrusion_layer.hpp +++ b/platform/android/src/style/layers/fill_extrusion_layer.hpp @@ -18,9 +18,9 @@ public: FillExtrusionLayer(jni::JNIEnv&, jni::String&, jni::String&); - FillExtrusionLayer(mbgl::Map&, mbgl::style::FillExtrusionLayer&); + FillExtrusionLayer(mbgl::style::FillExtrusionLayer&); - FillExtrusionLayer(mbgl::Map&, std::unique_ptr); + FillExtrusionLayer(std::unique_ptr); ~FillExtrusionLayer(); @@ -61,8 +61,8 @@ public: ~FillExtrusionJavaLayerPeerFactory() override; // JavaLayerPeerFactory overrides. - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final; - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) final; void registerNative(jni::JNIEnv&) final; diff --git a/platform/android/src/style/layers/fill_layer.cpp b/platform/android/src/style/layers/fill_layer.cpp index 3679688efc..ba6ed21791 100644 --- a/platform/android/src/style/layers/fill_layer.cpp +++ b/platform/android/src/style/layers/fill_layer.cpp @@ -26,15 +26,15 @@ namespace android { /** * Creates a non-owning peer object (for layers currently attached to the map) */ - FillLayer::FillLayer(mbgl::Map& map, mbgl::style::FillLayer& coreLayer) - : Layer(map, coreLayer) { + FillLayer::FillLayer(mbgl::style::FillLayer& coreLayer) + : Layer(coreLayer) { } /** * Creates an owning peer object (for layers not attached to the map) */ - FillLayer::FillLayer(mbgl::Map& map, std::unique_ptr coreLayer) - : Layer(map, std::move(coreLayer)) { + FillLayer::FillLayer(std::unique_ptr coreLayer) + : Layer(std::move(coreLayer)) { } FillLayer::~FillLayer() = default; @@ -159,14 +159,14 @@ namespace android { } } // namespace - jni::Local> FillJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { + jni::Local> FillJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::style::Layer& layer) { assert(layer.baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new FillLayer(map, toFillLayer(layer))); + return createJavaPeer(env, new FillLayer(toFillLayer(layer))); } - jni::Local> FillJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { + jni::Local> FillJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr layer) { assert(layer->baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new FillLayer(map, std::unique_ptr(static_cast(layer.release())))); + return createJavaPeer(env, new FillLayer(std::unique_ptr(static_cast(layer.release())))); } void FillJavaLayerPeerFactory::registerNative(jni::JNIEnv& env) { diff --git a/platform/android/src/style/layers/fill_layer.hpp b/platform/android/src/style/layers/fill_layer.hpp index e6471643ca..807b939a71 100644 --- a/platform/android/src/style/layers/fill_layer.hpp +++ b/platform/android/src/style/layers/fill_layer.hpp @@ -18,9 +18,9 @@ public: FillLayer(jni::JNIEnv&, jni::String&, jni::String&); - FillLayer(mbgl::Map&, mbgl::style::FillLayer&); + FillLayer(mbgl::style::FillLayer&); - FillLayer(mbgl::Map&, std::unique_ptr); + FillLayer(std::unique_ptr); ~FillLayer(); @@ -59,8 +59,8 @@ public: ~FillJavaLayerPeerFactory() override; // JavaLayerPeerFactory overrides. - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final; - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) final; void registerNative(jni::JNIEnv&) final; diff --git a/platform/android/src/style/layers/heatmap_layer.cpp b/platform/android/src/style/layers/heatmap_layer.cpp index 509ab5d707..dfb8bbb4b3 100644 --- a/platform/android/src/style/layers/heatmap_layer.cpp +++ b/platform/android/src/style/layers/heatmap_layer.cpp @@ -26,15 +26,15 @@ namespace android { /** * Creates a non-owning peer object (for layers currently attached to the map) */ - HeatmapLayer::HeatmapLayer(mbgl::Map& map, mbgl::style::HeatmapLayer& coreLayer) - : Layer(map, coreLayer) { + HeatmapLayer::HeatmapLayer(mbgl::style::HeatmapLayer& coreLayer) + : Layer(coreLayer) { } /** * Creates an owning peer object (for layers not attached to the map) */ - HeatmapLayer::HeatmapLayer(mbgl::Map& map, std::unique_ptr coreLayer) - : Layer(map, std::move(coreLayer)) { + HeatmapLayer::HeatmapLayer(std::unique_ptr coreLayer) + : Layer(std::move(coreLayer)) { } HeatmapLayer::~HeatmapLayer() = default; @@ -122,14 +122,14 @@ namespace android { } } // namespace - jni::Local> HeatmapJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { + jni::Local> HeatmapJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::style::Layer& layer) { assert(layer.baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new HeatmapLayer(map, toHeatmapLayer(layer))); + return createJavaPeer(env, new HeatmapLayer(toHeatmapLayer(layer))); } - jni::Local> HeatmapJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { + jni::Local> HeatmapJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr layer) { assert(layer->baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new HeatmapLayer(map, std::unique_ptr(static_cast(layer.release())))); + return createJavaPeer(env, new HeatmapLayer(std::unique_ptr(static_cast(layer.release())))); } void HeatmapJavaLayerPeerFactory::registerNative(jni::JNIEnv& env) { @@ -140,7 +140,9 @@ namespace android { // Register the peer jni::RegisterNativePeer( - env, javaClass, "nativePtr", + env, + javaClass, + "nativePtr", jni::MakePeer, "initialize", "finalize", diff --git a/platform/android/src/style/layers/heatmap_layer.hpp b/platform/android/src/style/layers/heatmap_layer.hpp index 9e3db0c89a..f56e3eb4a9 100644 --- a/platform/android/src/style/layers/heatmap_layer.hpp +++ b/platform/android/src/style/layers/heatmap_layer.hpp @@ -18,9 +18,9 @@ public: HeatmapLayer(jni::JNIEnv&, jni::String&, jni::String&); - HeatmapLayer(mbgl::Map&, mbgl::style::HeatmapLayer&); + HeatmapLayer(mbgl::style::HeatmapLayer&); - HeatmapLayer(mbgl::Map&, std::unique_ptr); + HeatmapLayer(std::unique_ptr); ~HeatmapLayer(); @@ -49,8 +49,8 @@ public: ~HeatmapJavaLayerPeerFactory() override; // JavaLayerPeerFactory overrides. - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final; - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) final; void registerNative(jni::JNIEnv&) final; diff --git a/platform/android/src/style/layers/hillshade_layer.cpp b/platform/android/src/style/layers/hillshade_layer.cpp index bc25f666a0..3c72b503b7 100644 --- a/platform/android/src/style/layers/hillshade_layer.cpp +++ b/platform/android/src/style/layers/hillshade_layer.cpp @@ -26,15 +26,15 @@ namespace android { /** * Creates a non-owning peer object (for layers currently attached to the map) */ - HillshadeLayer::HillshadeLayer(mbgl::Map& map, mbgl::style::HillshadeLayer& coreLayer) - : Layer(map, coreLayer) { + HillshadeLayer::HillshadeLayer(mbgl::style::HillshadeLayer& coreLayer) + : Layer(coreLayer) { } /** * Creates an owning peer object (for layers not attached to the map) */ - HillshadeLayer::HillshadeLayer(mbgl::Map& map, std::unique_ptr coreLayer) - : Layer(map, std::move(coreLayer)) { + HillshadeLayer::HillshadeLayer(std::unique_ptr coreLayer) + : Layer(std::move(coreLayer)) { } HillshadeLayer::~HillshadeLayer() = default; @@ -136,14 +136,14 @@ namespace android { } } // namespace - jni::Local> HillshadeJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { + jni::Local> HillshadeJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::style::Layer& layer) { assert(layer.baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new HillshadeLayer(map, toHillshadeLayer(layer))); + return createJavaPeer(env, new HillshadeLayer(toHillshadeLayer(layer))); } - jni::Local> HillshadeJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { + jni::Local> HillshadeJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr layer) { assert(layer->baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new HillshadeLayer(map, std::unique_ptr(static_cast(layer.release())))); + return createJavaPeer(env, new HillshadeLayer(std::unique_ptr(static_cast(layer.release())))); } void HillshadeJavaLayerPeerFactory::registerNative(jni::JNIEnv& env) { @@ -154,7 +154,9 @@ namespace android { // Register the peer jni::RegisterNativePeer( - env, javaClass, "nativePtr", + env, + javaClass, + "nativePtr", jni::MakePeer, "initialize", "finalize", diff --git a/platform/android/src/style/layers/hillshade_layer.hpp b/platform/android/src/style/layers/hillshade_layer.hpp index 2f4ea30c22..bc210a9987 100644 --- a/platform/android/src/style/layers/hillshade_layer.hpp +++ b/platform/android/src/style/layers/hillshade_layer.hpp @@ -18,9 +18,9 @@ public: HillshadeLayer(jni::JNIEnv&, jni::String&, jni::String&); - HillshadeLayer(mbgl::Map&, mbgl::style::HillshadeLayer&); + HillshadeLayer(mbgl::style::HillshadeLayer&); - HillshadeLayer(mbgl::Map&, std::unique_ptr); + HillshadeLayer(std::unique_ptr); ~HillshadeLayer(); @@ -53,8 +53,8 @@ public: ~HillshadeJavaLayerPeerFactory() override; // JavaLayerPeerFactory overrides. - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final; - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) final; void registerNative(jni::JNIEnv&) final; diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp index b90d670a4b..839a7b91c4 100644 --- a/platform/android/src/style/layers/layer.cpp +++ b/platform/android/src/style/layers/layer.cpp @@ -45,33 +45,21 @@ namespace android { /** * Takes a non-owning reference. For lookup methods */ - Layer::Layer(mbgl::Map& coreMap, mbgl::style::Layer& coreLayer) : layer(coreLayer) , map(&coreMap) { + Layer::Layer(mbgl::style::Layer& coreLayer) : layer(coreLayer) { } - /** - * Takes a owning reference. Ownership is transfered to this peer, eg after removing - * from the map - */ - Layer::Layer(mbgl::Map& coreMap, std::unique_ptr coreLayer) - : ownedLayer(std::move(coreLayer)) - , layer(*ownedLayer) - , map(&coreMap) { - } Layer::~Layer() { } - void Layer::addToMap(mbgl::Map& _map, mbgl::optional before) { + void Layer::addToStyle(mbgl::style::Style& style, mbgl::optional before) { // Check to see if we own the layer first if (!ownedLayer) { throw std::runtime_error("Cannot add layer twice"); } // Add layer to map - _map.getStyle().addLayer(releaseCoreLayer(), before); - - // Save pointer to the map - this->map = &_map; + style.addLayer(releaseCoreLayer(), before); } void Layer::setLayer(std::unique_ptr sourceLayer) { diff --git a/platform/android/src/style/layers/layer.cpp.ejs b/platform/android/src/style/layers/layer.cpp.ejs index e98ee49ff6..5d241e9a3b 100644 --- a/platform/android/src/style/layers/layer.cpp.ejs +++ b/platform/android/src/style/layers/layer.cpp.ejs @@ -38,15 +38,15 @@ namespace android { /** * Creates a non-owning peer object (for layers currently attached to the map) */ - <%- camelize(type) %>Layer::<%- camelize(type) %>Layer(mbgl::Map& map, mbgl::style::<%- camelize(type) %>Layer& coreLayer) - : Layer(map, coreLayer) { + <%- camelize(type) %>Layer::<%- camelize(type) %>Layer(mbgl::style::<%- camelize(type) %>Layer& coreLayer) + : Layer(coreLayer) { } /** * Creates an owning peer object (for layers not attached to the map) */ - <%- camelize(type) %>Layer::<%- camelize(type) %>Layer(mbgl::Map& map, std::unique_ptrLayer> coreLayer) - : Layer(map, std::move(coreLayer)) { + <%- camelize(type) %>Layer::<%- camelize(type) %>Layer(std::unique_ptrLayer> coreLayer) + : Layer(std::move(coreLayer)) { } <%- camelize(type) %>Layer::~<%- camelize(type) %>Layer() = default; @@ -100,14 +100,14 @@ namespace android { } } // namespace - jni::Local> <%- camelize(type) %>JavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { + jni::Local> <%- camelize(type) %>JavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::style::Layer& layer) { assert(layer.baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new <%- camelize(type) %>Layer(map, to<%- camelize(type) %>Layer(layer))); + return createJavaPeer(env, new <%- camelize(type) %>Layer(to<%- camelize(type) %>Layer(layer))); } - jni::Local> <%- camelize(type) %>JavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { + jni::Local> <%- camelize(type) %>JavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr layer) { assert(layer->baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new <%- camelize(type) %>Layer(map, std::unique_ptrLayer>(static_castLayer*>(layer.release())))); + return createJavaPeer(env, new <%- camelize(type) %>Layer(std::unique_ptrLayer>(static_castLayer*>(layer.release())))); } void <%- camelize(type) %>JavaLayerPeerFactory::registerNative(jni::JNIEnv& env) { diff --git a/platform/android/src/style/layers/layer.hpp b/platform/android/src/style/layers/layer.hpp index 5717852d0c..aff77ef113 100644 --- a/platform/android/src/style/layers/layer.hpp +++ b/platform/android/src/style/layers/layer.hpp @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include #include "../../gson/json_array.hpp" #include "../value.hpp" @@ -27,7 +27,7 @@ public: */ void setLayer(std::unique_ptr); - void addToMap(mbgl::Map&, mbgl::optional); + void addToStyle(mbgl::style::Style&, mbgl::optional); // Release the owned view and return it std::unique_ptr releaseCoreLayer(); @@ -68,26 +68,19 @@ protected: /* * Called when a non-owning peer object is created on the c++ side */ - Layer(mbgl::Map&, mbgl::style::Layer&); + Layer(mbgl::style::Layer&); /* * Called when a owning peer object is created on the c++ side */ - Layer(mbgl::Map&, std::unique_ptr); - - /* - * Called when a Java object was created from the jvm side - */ Layer(std::unique_ptr); + // Owned layer is set when creating a new layer, before adding it to the map std::unique_ptr ownedLayer; // Raw reference to the layer mbgl::style::Layer& layer; - - // Map is set when the layer is retrieved or after adding to the map - mbgl::Map* map; }; /** @@ -99,12 +92,12 @@ public: /** * @brief Create a non-owning peer. */ - virtual jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) = 0; + virtual jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) = 0; /** * @brief Create an owning peer. */ - virtual jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr) = 0; + virtual jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) = 0; /** * @brief Register peer methods. diff --git a/platform/android/src/style/layers/layer.hpp.ejs b/platform/android/src/style/layers/layer.hpp.ejs index 28e00b2731..eb8db0620d 100644 --- a/platform/android/src/style/layers/layer.hpp.ejs +++ b/platform/android/src/style/layers/layer.hpp.ejs @@ -26,9 +26,9 @@ public: <%- camelize(type) %>Layer(jni::JNIEnv&, jni::String&, jni::String&); <% } -%> - <%- camelize(type) %>Layer(mbgl::Map&, mbgl::style::<%- camelize(type) %>Layer&); + <%- camelize(type) %>Layer(mbgl::style::<%- camelize(type) %>Layer&); - <%- camelize(type) %>Layer(mbgl::Map&, std::unique_ptrLayer>); + <%- camelize(type) %>Layer(std::unique_ptrLayer>); ~<%- camelize(type) %>Layer(); @@ -49,8 +49,8 @@ public: ~<%- camelize(type) %>JavaLayerPeerFactory() override; // JavaLayerPeerFactory overrides. - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final; - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) final; void registerNative(jni::JNIEnv&) final; diff --git a/platform/android/src/style/layers/layer_manager.cpp b/platform/android/src/style/layers/layer_manager.cpp index d0c54ee00f..e3fc1b874e 100644 --- a/platform/android/src/style/layers/layer_manager.cpp +++ b/platform/android/src/style/layers/layer_manager.cpp @@ -77,16 +77,16 @@ LayerManagerAndroid::LayerManagerAndroid() { LayerManagerAndroid::~LayerManagerAndroid() = default; -jni::Local> LayerManagerAndroid::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { +jni::Local> LayerManagerAndroid::createJavaLayerPeer(jni::JNIEnv& env, mbgl::style::Layer& layer) { if (JavaLayerPeerFactory* factory = getPeerFactory(layer.getTypeInfo())) { - return factory->createJavaLayerPeer(env, map, layer); + return factory->createJavaLayerPeer(env, layer); } return jni::Local>(); } -jni::Local> LayerManagerAndroid::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { +jni::Local> LayerManagerAndroid::createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr layer) { if (JavaLayerPeerFactory* factory = getPeerFactory(layer->getTypeInfo())) { - return factory->createJavaLayerPeer(env, map, std::move(layer)); + return factory->createJavaLayerPeer(env, std::move(layer)); } return jni::Local>(); } diff --git a/platform/android/src/style/layers/layer_manager.hpp b/platform/android/src/style/layers/layer_manager.hpp index 807ded1737..43bdd1d1e1 100644 --- a/platform/android/src/style/layers/layer_manager.hpp +++ b/platform/android/src/style/layers/layer_manager.hpp @@ -22,8 +22,8 @@ public: ~LayerManagerAndroid() final; static LayerManagerAndroid* get() noexcept; - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&); - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr); + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&); + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr); void registerNative(jni::JNIEnv&); diff --git a/platform/android/src/style/layers/line_layer.cpp b/platform/android/src/style/layers/line_layer.cpp index 1719c9ae59..bf3a403b66 100644 --- a/platform/android/src/style/layers/line_layer.cpp +++ b/platform/android/src/style/layers/line_layer.cpp @@ -26,15 +26,15 @@ namespace android { /** * Creates a non-owning peer object (for layers currently attached to the map) */ - LineLayer::LineLayer(mbgl::Map& map, mbgl::style::LineLayer& coreLayer) - : Layer(map, coreLayer) { + LineLayer::LineLayer(mbgl::style::LineLayer& coreLayer) + : Layer(coreLayer) { } /** * Creates an owning peer object (for layers not attached to the map) */ - LineLayer::LineLayer(mbgl::Map& map, std::unique_ptr coreLayer) - : Layer(map, std::move(coreLayer)) { + LineLayer::LineLayer(std::unique_ptr coreLayer) + : Layer(std::move(coreLayer)) { } LineLayer::~LineLayer() = default; @@ -251,14 +251,14 @@ namespace android { } } // namespace - jni::Local> LineJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { + jni::Local> LineJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::style::Layer& layer) { assert(layer.baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new LineLayer(map, toLineLayer(layer))); + return createJavaPeer(env, new LineLayer(toLineLayer(layer))); } - jni::Local> LineJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { + jni::Local> LineJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr layer) { assert(layer->baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new LineLayer(map, std::unique_ptr(static_cast(layer.release())))); + return createJavaPeer(env, new LineLayer(std::unique_ptr(static_cast(layer.release())))); } void LineJavaLayerPeerFactory::registerNative(jni::JNIEnv& env) { diff --git a/platform/android/src/style/layers/line_layer.hpp b/platform/android/src/style/layers/line_layer.hpp index 72a69f218e..25b270fbc6 100644 --- a/platform/android/src/style/layers/line_layer.hpp +++ b/platform/android/src/style/layers/line_layer.hpp @@ -18,9 +18,9 @@ public: LineLayer(jni::JNIEnv&, jni::String&, jni::String&); - LineLayer(mbgl::Map&, mbgl::style::LineLayer&); + LineLayer(mbgl::style::LineLayer&); - LineLayer(mbgl::Map&, std::unique_ptr); + LineLayer(std::unique_ptr); ~LineLayer(); @@ -83,8 +83,8 @@ public: ~LineJavaLayerPeerFactory() override; // JavaLayerPeerFactory overrides. - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final; - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) final; void registerNative(jni::JNIEnv&) final; diff --git a/platform/android/src/style/layers/raster_layer.cpp b/platform/android/src/style/layers/raster_layer.cpp index b12267525f..53442c0a94 100644 --- a/platform/android/src/style/layers/raster_layer.cpp +++ b/platform/android/src/style/layers/raster_layer.cpp @@ -26,15 +26,15 @@ namespace android { /** * Creates a non-owning peer object (for layers currently attached to the map) */ - RasterLayer::RasterLayer(mbgl::Map& map, mbgl::style::RasterLayer& coreLayer) - : Layer(map, coreLayer) { + RasterLayer::RasterLayer(mbgl::style::RasterLayer& coreLayer) + : Layer(coreLayer) { } /** * Creates an owning peer object (for layers not attached to the map) */ - RasterLayer::RasterLayer(mbgl::Map& map, std::unique_ptr coreLayer) - : Layer(map, std::move(coreLayer)) { + RasterLayer::RasterLayer(std::unique_ptr coreLayer) + : Layer(std::move(coreLayer)) { } RasterLayer::~RasterLayer() = default; @@ -172,14 +172,14 @@ namespace android { } } // namespace - jni::Local> RasterJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { + jni::Local> RasterJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::style::Layer& layer) { assert(layer.baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new RasterLayer(map, toRasterLayer(layer))); + return createJavaPeer(env, new RasterLayer(toRasterLayer(layer))); } - jni::Local> RasterJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { + jni::Local> RasterJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr layer) { assert(layer->baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new RasterLayer(map, std::unique_ptr(static_cast(layer.release())))); + return createJavaPeer(env, new RasterLayer(std::unique_ptr(static_cast(layer.release())))); } void RasterJavaLayerPeerFactory::registerNative(jni::JNIEnv& env) { @@ -190,7 +190,9 @@ namespace android { // Register the peer jni::RegisterNativePeer( - env, javaClass, "nativePtr", + env, + javaClass, + "nativePtr", jni::MakePeer, "initialize", "finalize", diff --git a/platform/android/src/style/layers/raster_layer.hpp b/platform/android/src/style/layers/raster_layer.hpp index 53bee85e2b..bbda2e0c57 100644 --- a/platform/android/src/style/layers/raster_layer.hpp +++ b/platform/android/src/style/layers/raster_layer.hpp @@ -18,9 +18,9 @@ public: RasterLayer(jni::JNIEnv&, jni::String&, jni::String&); - RasterLayer(mbgl::Map&, mbgl::style::RasterLayer&); + RasterLayer(mbgl::style::RasterLayer&); - RasterLayer(mbgl::Map&, std::unique_ptr); + RasterLayer(std::unique_ptr); ~RasterLayer(); @@ -61,8 +61,8 @@ public: ~RasterJavaLayerPeerFactory() override; // JavaLayerPeerFactory overrides. - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final; - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) final; void registerNative(jni::JNIEnv&) final; diff --git a/platform/android/src/style/layers/symbol_layer.cpp b/platform/android/src/style/layers/symbol_layer.cpp index 53b35a9a13..198dbe635f 100644 --- a/platform/android/src/style/layers/symbol_layer.cpp +++ b/platform/android/src/style/layers/symbol_layer.cpp @@ -26,15 +26,15 @@ namespace android { /** * Creates a non-owning peer object (for layers currently attached to the map) */ - SymbolLayer::SymbolLayer(mbgl::Map& map, mbgl::style::SymbolLayer& coreLayer) - : Layer(map, coreLayer) { + SymbolLayer::SymbolLayer(mbgl::style::SymbolLayer& coreLayer) + : Layer(coreLayer) { } /** * Creates an owning peer object (for layers not attached to the map) */ - SymbolLayer::SymbolLayer(mbgl::Map& map, std::unique_ptr coreLayer) - : Layer(map, std::move(coreLayer)) { + SymbolLayer::SymbolLayer(std::unique_ptr coreLayer) + : Layer(std::move(coreLayer)) { } SymbolLayer::~SymbolLayer() = default; @@ -485,14 +485,14 @@ namespace android { } } // namespace - jni::Local> SymbolJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { + jni::Local> SymbolJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::style::Layer& layer) { assert(layer.baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new SymbolLayer(map, toSymbolLayer(layer))); + return createJavaPeer(env, new SymbolLayer(toSymbolLayer(layer))); } - jni::Local> SymbolJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { + jni::Local> SymbolJavaLayerPeerFactory::createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr layer) { assert(layer->baseImpl->getTypeInfo() == getTypeInfo()); - return createJavaPeer(env, new SymbolLayer(map, std::unique_ptr(static_cast(layer.release())))); + return createJavaPeer(env, new SymbolLayer(std::unique_ptr(static_cast(layer.release())))); } void SymbolJavaLayerPeerFactory::registerNative(jni::JNIEnv& env) { @@ -503,7 +503,9 @@ namespace android { // Register the peer jni::RegisterNativePeer( - env, javaClass, "nativePtr", + env, + javaClass, + "nativePtr", jni::MakePeer, "initialize", "finalize", diff --git a/platform/android/src/style/layers/symbol_layer.hpp b/platform/android/src/style/layers/symbol_layer.hpp index 9e494e678a..4898c830df 100644 --- a/platform/android/src/style/layers/symbol_layer.hpp +++ b/platform/android/src/style/layers/symbol_layer.hpp @@ -18,9 +18,9 @@ public: SymbolLayer(jni::JNIEnv&, jni::String&, jni::String&); - SymbolLayer(mbgl::Map&, mbgl::style::SymbolLayer&); + SymbolLayer(mbgl::style::SymbolLayer&); - SymbolLayer(mbgl::Map&, std::unique_ptr); + SymbolLayer(std::unique_ptr); ~SymbolLayer(); @@ -167,8 +167,8 @@ public: ~SymbolJavaLayerPeerFactory() override; // JavaLayerPeerFactory overrides. - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final; - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::style::Layer&) final; + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, std::unique_ptr) final; void registerNative(jni::JNIEnv&) final; -- cgit v1.2.1