[android] fix ownership of style layer after delete

This commit is contained in:
Ivo van Dongen
2017-02-28 02:45:13 +02:00
committed by Ivo van Dongen
parent f0de56cffa
commit 609cdb0fd7
19 changed files with 185 additions and 19 deletions

View File

@@ -780,10 +780,15 @@ void NativeMapView::addLayer(JNIEnv& env, jlong nativeLayerPtr, jni::String befo
}
/**
* Remove by layer id. Ownership is not transferred back
* Remove by layer id.
*/
void NativeMapView::removeLayerById(JNIEnv& env, jni::String id) {
map->removeLayer(jni::Make<std::string>(env, id));
jni::Object<Layer> NativeMapView::removeLayerById(JNIEnv& env, jni::String id) {
std::unique_ptr<mbgl::style::Layer> coreLayer = map->removeLayer(jni::Make<std::string>(env, id));
if (coreLayer) {
return jni::Object<Layer>(createJavaLayerPeer(env, *map, std::move(coreLayer)));
} else {
return jni::Object<Layer>();
}
}
/**