summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobrun <tobrun.van.nuland@gmail.com>2018-09-03 15:43:12 +0200
committerTobrun <tobrun@mapbox.com>2018-09-04 15:16:18 +0200
commit42aaf3e346c583cbfd68e0f379a705a41af5238f (patch)
treef2fc2938f6385fed8756fa1ba6d9c0983784c71b
parent18b43f29cfd7d2a4b316854e910ddf8adaf00fcb (diff)
downloadqtlocation-mapboxgl-42aaf3e346c583cbfd68e0f379a705a41af5238f.tar.gz
[android] - add get source id to supported layer types
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/CircleLayer.java10
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillExtrusionLayer.java10
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillLayer.java10
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HeatmapLayer.java10
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HillshadeLayer.java10
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/LineLayer.java10
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/RasterLayer.java10
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java10
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/layer.java.ejs12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HeatmapLayerTest.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HillshadeLayerTest.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/layer.junit.ejs14
-rw-r--r--platform/android/src/style/layers/layer.cpp22
-rw-r--r--platform/android/src/style/layers/layer.hpp2
21 files changed, 229 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/CircleLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/CircleLayer.java
index 9d2b9d89a5..4718adc5c1 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/CircleLayer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/CircleLayer.java
@@ -68,6 +68,16 @@ public class CircleLayer extends Layer {
}
/**
+ * Get the source id.
+ *
+ * @return id of the source
+ */
+ public String getSourceId() {
+ checkThread();
+ return nativeGetSourceId();
+ }
+
+ /**
* Get the source layer.
*
* @return sourceLayer the source layer to get
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillExtrusionLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillExtrusionLayer.java
index 2de0de06d9..339b25b3f7 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillExtrusionLayer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillExtrusionLayer.java
@@ -68,6 +68,16 @@ public class FillExtrusionLayer extends Layer {
}
/**
+ * Get the source id.
+ *
+ * @return id of the source
+ */
+ public String getSourceId() {
+ checkThread();
+ return nativeGetSourceId();
+ }
+
+ /**
* Get the source layer.
*
* @return sourceLayer the source layer to get
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillLayer.java
index 6e28900c26..295ffd3963 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillLayer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillLayer.java
@@ -68,6 +68,16 @@ public class FillLayer extends Layer {
}
/**
+ * Get the source id.
+ *
+ * @return id of the source
+ */
+ public String getSourceId() {
+ checkThread();
+ return nativeGetSourceId();
+ }
+
+ /**
* Get the source layer.
*
* @return sourceLayer the source layer to get
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HeatmapLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HeatmapLayer.java
index f1076ecd96..796f6a28bb 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HeatmapLayer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HeatmapLayer.java
@@ -68,6 +68,16 @@ public class HeatmapLayer extends Layer {
}
/**
+ * Get the source id.
+ *
+ * @return id of the source
+ */
+ public String getSourceId() {
+ checkThread();
+ return nativeGetSourceId();
+ }
+
+ /**
* Get the source layer.
*
* @return sourceLayer the source layer to get
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HillshadeLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HillshadeLayer.java
index f706e5a234..d548d2c9f6 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HillshadeLayer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HillshadeLayer.java
@@ -68,6 +68,16 @@ public class HillshadeLayer extends Layer {
}
/**
+ * Get the source id.
+ *
+ * @return id of the source
+ */
+ public String getSourceId() {
+ checkThread();
+ return nativeGetSourceId();
+ }
+
+ /**
* Set a property or properties.
*
* @param properties the var-args properties
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java
index 605f883bdb..b17c4a661a 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java
@@ -109,6 +109,9 @@ public abstract class Layer {
protected native String nativeGetSourceLayer();
@Keep
+ protected native String nativeGetSourceId();
+
+ @Keep
protected native float nativeGetMinZoom();
@Keep
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/LineLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/LineLayer.java
index 9130bfd76f..f6022f836a 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/LineLayer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/LineLayer.java
@@ -68,6 +68,16 @@ public class LineLayer extends Layer {
}
/**
+ * Get the source id.
+ *
+ * @return id of the source
+ */
+ public String getSourceId() {
+ checkThread();
+ return nativeGetSourceId();
+ }
+
+ /**
* Get the source layer.
*
* @return sourceLayer the source layer to get
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/RasterLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/RasterLayer.java
index 50837a97be..792ea1193c 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/RasterLayer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/RasterLayer.java
@@ -68,6 +68,16 @@ public class RasterLayer extends Layer {
}
/**
+ * Get the source id.
+ *
+ * @return id of the source
+ */
+ public String getSourceId() {
+ checkThread();
+ return nativeGetSourceId();
+ }
+
+ /**
* Set a property or properties.
*
* @param properties the var-args properties
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java
index 4389f6cb21..3c4924bb6f 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java
@@ -68,6 +68,16 @@ public class SymbolLayer extends Layer {
}
/**
+ * Get the source id.
+ *
+ * @return id of the source
+ */
+ public String getSourceId() {
+ checkThread();
+ return nativeGetSourceId();
+ }
+
+ /**
* Get the source layer.
*
* @return sourceLayer the source layer to get
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/layer.java.ejs b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/layer.java.ejs
index 6ed58b1928..958cb7383d 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/layer.java.ejs
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/layer.java.ejs
@@ -88,6 +88,18 @@ public class <%- camelize(type) %>Layer extends Layer {
}
<% } -%>
+<% if (type !== 'background' && type !== 'custom') { -%>
+ /**
+ * Get the source id.
+ *
+ * @return id of the source
+ */
+ public String getSourceId() {
+ checkThread();
+ return nativeGetSourceId();
+ }
+
+<% } -%>
<% if (type !== 'background' && type !== 'raster' && type !== 'hillshade') { -%>
/**
* Get the source layer.
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java
index 101d22a531..1e03a640d1 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java
@@ -51,6 +51,18 @@ public class CircleLayerTest extends BaseActivityTest {
}
@Test
+ public void testSourceId() {
+ validateTestSetup();
+ setupLayer();
+ Timber.i("SourceId");
+ invoke(mapboxMap, (uiController, mapboxMap) -> {
+ assertNotNull(layer);
+ // Get source id
+ assertEquals(layer.getSourceId(), "composite");
+ });
+ }
+
+ @Test
public void testSetVisibility() {
validateTestSetup();
setupLayer();
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java
index ed509ccf4f..bbfc05229c 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java
@@ -51,6 +51,18 @@ public class FillExtrusionLayerTest extends BaseActivityTest {
}
@Test
+ public void testSourceId() {
+ validateTestSetup();
+ setupLayer();
+ Timber.i("SourceId");
+ invoke(mapboxMap, (uiController, mapboxMap) -> {
+ assertNotNull(layer);
+ // Get source id
+ assertEquals(layer.getSourceId(), "composite");
+ });
+ }
+
+ @Test
public void testSetVisibility() {
validateTestSetup();
setupLayer();
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java
index 0bcdae4113..66e943b64f 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java
@@ -51,6 +51,18 @@ public class FillLayerTest extends BaseActivityTest {
}
@Test
+ public void testSourceId() {
+ validateTestSetup();
+ setupLayer();
+ Timber.i("SourceId");
+ invoke(mapboxMap, (uiController, mapboxMap) -> {
+ assertNotNull(layer);
+ // Get source id
+ assertEquals(layer.getSourceId(), "composite");
+ });
+ }
+
+ @Test
public void testSetVisibility() {
validateTestSetup();
setupLayer();
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HeatmapLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HeatmapLayerTest.java
index 3a81786df4..b832c4eae7 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HeatmapLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HeatmapLayerTest.java
@@ -51,6 +51,18 @@ public class HeatmapLayerTest extends BaseActivityTest {
}
@Test
+ public void testSourceId() {
+ validateTestSetup();
+ setupLayer();
+ Timber.i("SourceId");
+ invoke(mapboxMap, (uiController, mapboxMap) -> {
+ assertNotNull(layer);
+ // Get source id
+ assertEquals(layer.getSourceId(), "composite");
+ });
+ }
+
+ @Test
public void testSetVisibility() {
validateTestSetup();
setupLayer();
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HillshadeLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HillshadeLayerTest.java
index e0121a704a..a78ccb0977 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HillshadeLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/HillshadeLayerTest.java
@@ -51,6 +51,18 @@ public class HillshadeLayerTest extends BaseActivityTest {
}
@Test
+ public void testSourceId() {
+ validateTestSetup();
+ setupLayer();
+ Timber.i("SourceId");
+ invoke(mapboxMap, (uiController, mapboxMap) -> {
+ assertNotNull(layer);
+ // Get source id
+ assertEquals(layer.getSourceId(), "composite");
+ });
+ }
+
+ @Test
public void testSetVisibility() {
validateTestSetup();
setupLayer();
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java
index 792dd84466..29ba0fa16b 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java
@@ -51,6 +51,18 @@ public class LineLayerTest extends BaseActivityTest {
}
@Test
+ public void testSourceId() {
+ validateTestSetup();
+ setupLayer();
+ Timber.i("SourceId");
+ invoke(mapboxMap, (uiController, mapboxMap) -> {
+ assertNotNull(layer);
+ // Get source id
+ assertEquals(layer.getSourceId(), "composite");
+ });
+ }
+
+ @Test
public void testSetVisibility() {
validateTestSetup();
setupLayer();
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java
index 8440fad20a..728be85e50 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java
@@ -51,6 +51,18 @@ public class RasterLayerTest extends BaseActivityTest {
}
@Test
+ public void testSourceId() {
+ validateTestSetup();
+ setupLayer();
+ Timber.i("SourceId");
+ invoke(mapboxMap, (uiController, mapboxMap) -> {
+ assertNotNull(layer);
+ // Get source id
+ assertEquals(layer.getSourceId(), "composite");
+ });
+ }
+
+ @Test
public void testSetVisibility() {
validateTestSetup();
setupLayer();
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java
index 1a5d4ebc2b..8cf452a6cf 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java
@@ -51,6 +51,18 @@ public class SymbolLayerTest extends BaseActivityTest {
}
@Test
+ public void testSourceId() {
+ validateTestSetup();
+ setupLayer();
+ Timber.i("SourceId");
+ invoke(mapboxMap, (uiController, mapboxMap) -> {
+ assertNotNull(layer);
+ // Get source id
+ assertEquals(layer.getSourceId(), "composite");
+ });
+ }
+
+ @Test
public void testSetVisibility() {
validateTestSetup();
setupLayer();
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/layer.junit.ejs b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/layer.junit.ejs
index a319d52ea3..142d1bd203 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/layer.junit.ejs
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/layer.junit.ejs
@@ -60,6 +60,20 @@ public class <%- camelize(type) %>LayerTest extends BaseActivityTest {
});
<% } -%>
}
+<% if (type !== 'background') { -%>
+
+ @Test
+ public void testSourceId() {
+ validateTestSetup();
+ setupLayer();
+ Timber.i("SourceId");
+ invoke(mapboxMap, (uiController, mapboxMap) -> {
+ assertNotNull(layer);
+ // Get source id
+ assertEquals(layer.getSourceId(), "composite");
+ });
+ }
+<% } -%>
@Test
public void testSetVisibility() {
diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp
index 6c08893411..48e09674e8 100644
--- a/platform/android/src/style/layers/layer.cpp
+++ b/platform/android/src/style/layers/layer.cpp
@@ -25,6 +25,8 @@
// C++ -> Java conversion
#include "../conversion/property_value.hpp"
+#include "custom_layer.hpp"
+#include "background_layer.hpp"
#include <mbgl/style/filter.hpp>
#include <string>
@@ -204,6 +206,25 @@ namespace android {
return jni::Make<jni::String>(env, layer.accept(GetSourceLayerEvaluator()));
}
+ struct GetSourceIdEvaluator {
+ std::string noop(std::string layerType) {
+ Log::Warning(mbgl::Event::JNI, "%s doesn't support get source id", layerType.c_str());
+ return {};
+ }
+
+ std::string operator()(style::BackgroundLayer&) { return noop("BackgroundLayer"); }
+ std::string operator()(style::CustomLayer&) { return noop("CustomLayer"); }
+
+ template <class LayerType>
+ std::string operator()(LayerType& layer) {
+ return layer.getSourceID();
+ }
+ };
+
+ jni::String Layer::getSourceId(jni::JNIEnv& env) {
+ return jni::Make<jni::String>(env, layer.accept(GetSourceIdEvaluator()));
+ }
+
jni::jfloat Layer::getMinZoom(jni::JNIEnv&){
return layer.getMinZoom();
}
@@ -242,6 +263,7 @@ namespace android {
METHOD(&Layer::getFilter, "nativeGetFilter"),
METHOD(&Layer::setSourceLayer, "nativeSetSourceLayer"),
METHOD(&Layer::getSourceLayer, "nativeGetSourceLayer"),
+ METHOD(&Layer::getSourceId, "nativeGetSourceId"),
METHOD(&Layer::getMinZoom, "nativeGetMinZoom"),
METHOD(&Layer::getMaxZoom, "nativeGetMaxZoom"),
METHOD(&Layer::setMinZoom, "nativeSetMinZoom"),
diff --git a/platform/android/src/style/layers/layer.hpp b/platform/android/src/style/layers/layer.hpp
index 2486b0dfa6..41022bf74a 100644
--- a/platform/android/src/style/layers/layer.hpp
+++ b/platform/android/src/style/layers/layer.hpp
@@ -49,6 +49,8 @@ public:
jni::String getId(jni::JNIEnv&);
+ jni::String getSourceId(jni::JNIEnv&);
+
style::Layer& get();
void setLayoutProperty(jni::JNIEnv&, jni::String, jni::Object<> value);