summaryrefslogtreecommitdiff
path: root/platform/android/src/style/layers/symbol_layer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/style/layers/symbol_layer.hpp')
-rw-r--r--platform/android/src/style/layers/symbol_layer.hpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/platform/android/src/style/layers/symbol_layer.hpp b/platform/android/src/style/layers/symbol_layer.hpp
index 9887fd8fb7..5df7ac3687 100644
--- a/platform/android/src/style/layers/symbol_layer.hpp
+++ b/platform/android/src/style/layers/symbol_layer.hpp
@@ -15,8 +15,6 @@ public:
using SuperTag = Layer;
static constexpr auto Name() { return "com/mapbox/mapboxsdk/style/layers/SymbolLayer"; };
- static void registerNative(jni::JNIEnv&);
-
SymbolLayer(jni::JNIEnv&, jni::String&, jni::String&);
SymbolLayer(mbgl::Map&, mbgl::style::SymbolLayer&);
@@ -152,9 +150,22 @@ public:
jni::Local<jni::Object<TransitionOptions>> getTextTranslateTransition(jni::JNIEnv&);
jni::Local<jni::Object<jni::ObjectTag>> getTextTranslateAnchor(jni::JNIEnv&);
- jni::Local<jni::Object<Layer>> createJavaPeer(jni::JNIEnv&);
}; // class SymbolLayer
+class SymbolJavaLayerPeerFactory final : public JavaLayerPeerFactory, public mbgl::style::SymbolLayerFactory {
+public:
+ ~SymbolJavaLayerPeerFactory() override;
+
+ // JavaLayerPeerFactory overrides.
+ jni::Local<jni::Object<Layer>> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final;
+ jni::Local<jni::Object<Layer>> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr<mbgl::style::Layer>) final;
+
+ void registerNative(jni::JNIEnv&) final;
+
+ style::LayerFactory* getLayerFactory() final { return this; }
+
+}; // class SymbolJavaLayerPeerFactory
+
} // namespace android
} // namespace mbgl