summaryrefslogtreecommitdiff
path: root/platform/android/src/style/layers/layer.hpp.ejs
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/style/layers/layer.hpp.ejs')
-rw-r--r--platform/android/src/style/layers/layer.hpp.ejs17
1 files changed, 14 insertions, 3 deletions
diff --git a/platform/android/src/style/layers/layer.hpp.ejs b/platform/android/src/style/layers/layer.hpp.ejs
index 5ceab0dcfa..5791c16501 100644
--- a/platform/android/src/style/layers/layer.hpp.ejs
+++ b/platform/android/src/style/layers/layer.hpp.ejs
@@ -19,8 +19,6 @@ public:
using SuperTag = Layer;
static constexpr auto Name() { return "com/mapbox/mapboxsdk/style/layers/<%- camelize(type) %>Layer"; };
- static void registerNative(jni::JNIEnv&);
-
<% if (type === 'background') { -%>
<%- camelize(type) %>Layer(jni::JNIEnv&, jni::String&);
<% } else { -%>
@@ -42,9 +40,22 @@ public:
jni::Local<jni::Object<TransitionOptions>> get<%- camelize(property.name) %>Transition(jni::JNIEnv&);
<% } -%>
<% } -%>
- jni::Local<jni::Object<Layer>> createJavaPeer(jni::JNIEnv&);
}; // class <%- camelize(type) %>Layer
+class <%- camelize(type) %>JavaLayerPeerFactory final : public JavaLayerPeerFactory, public mbgl::style::<%- camelize(type) %>LayerFactory {
+public:
+ ~<%- camelize(type) %>JavaLayerPeerFactory() 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 <%- camelize(type) %>JavaLayerPeerFactory
+
} // namespace android
} // namespace mbgl