summaryrefslogtreecommitdiff
path: root/platform/android/src/style
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2016-11-14 10:44:06 +0100
committerIvo van Dongen <ivovandongen@users.noreply.github.com>2016-11-14 14:05:18 +0100
commit8d53f9f09191b390a5a6f31b41714a8178ed326b (patch)
treef64b06229a09bb278f682594ed983de421311300 /platform/android/src/style
parentf66ea0bef9071cf7c27e456e7eb9528b8cff5e30 (diff)
downloadqtlocation-mapboxgl-8d53f9f09191b390a5a6f31b41714a8178ed326b.tar.gz
[android] return layer ownership on remove
Diffstat (limited to 'platform/android/src/style')
-rw-r--r--platform/android/src/style/layers/layer.cpp8
-rw-r--r--platform/android/src/style/layers/layer.hpp7
2 files changed, 15 insertions, 0 deletions
diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp
index aa6df40470..00a52147b8 100644
--- a/platform/android/src/style/layers/layer.cpp
+++ b/platform/android/src/style/layers/layer.cpp
@@ -45,6 +45,10 @@ namespace android {
this->map = &_map;
}
+ void Layer::setLayer(std::unique_ptr<mbgl::style::Layer> sourceLayer) {
+ this->ownedLayer = std::move(sourceLayer);
+ }
+
std::unique_ptr<mbgl::style::Layer> Layer::releaseCoreLayer() {
assert(ownedLayer != nullptr);
return std::move(ownedLayer);
@@ -54,6 +58,10 @@ namespace android {
return jni::Make<jni::String>(env, layer.getID());
}
+ style::Layer& Layer::get() {
+ return layer;
+ }
+
void Layer::setLayoutProperty(jni::JNIEnv& env, jni::String jname, jni::Object<> jvalue) {
Value value(env, jvalue);
diff --git a/platform/android/src/style/layers/layer.hpp b/platform/android/src/style/layers/layer.hpp
index 01eac2280b..f3cd073552 100644
--- a/platform/android/src/style/layers/layer.hpp
+++ b/platform/android/src/style/layers/layer.hpp
@@ -34,10 +34,17 @@ public:
virtual jni::jobject* createJavaPeer(jni::JNIEnv&) = 0;
+ /**
+ * Set core layer (ie return ownership after remove)
+ */
+ void setLayer(std::unique_ptr<mbgl::style::Layer>);
+
void addToMap(mbgl::Map&, mbgl::optional<std::string>);
jni::String getId(jni::JNIEnv&);
+ style::Layer& get();
+
void setLayoutProperty(jni::JNIEnv&, jni::String, jni::Object<> value);
void setPaintProperty(jni::JNIEnv&, jni::String, jni::Object<> value);