summaryrefslogtreecommitdiff
path: root/platform/android/src/jni/collection.hpp
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-10-27 20:08:47 +0300
committerFabian Guerra Soto <fabian.guerra@mapbox.com>2017-11-01 09:23:53 -0400
commit0c5e15e21eb5815f064211226d267e4c6f7fdcf3 (patch)
tree551d78173a5ab65417011866e8b4436a294d7b61 /platform/android/src/jni/collection.hpp
parent74662831f6dd07851628f5da5f63c4aad3275d08 (diff)
downloadqtlocation-mapboxgl-0c5e15e21eb5815f064211226d267e4c6f7fdcf3.tar.gz
[android] map snapshotter - expose attributions
Diffstat (limited to 'platform/android/src/jni/collection.hpp')
-rw-r--r--platform/android/src/jni/collection.hpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/platform/android/src/jni/collection.hpp b/platform/android/src/jni/collection.hpp
new file mode 100644
index 0000000000..5f94ec29ce
--- /dev/null
+++ b/platform/android/src/jni/collection.hpp
@@ -0,0 +1,26 @@
+#pragma once
+
+#include <jni/jni.hpp>
+
+#include <string>
+#include <vector>
+
+namespace jni {
+
+inline Array<String> MakeAnything(ThingToMake<Array<String>>, JNIEnv& env, const std::vector<std::string>& vector)
+{
+ static auto clazz = *Class<StringTag>::Find(env).NewGlobalRef(env).release();
+ auto result = Array<String>::New(env, vector.size(), clazz);
+
+ std::size_t index = 0;
+ for (auto&& item : vector) {
+ auto element = Make<jni::String>(env, item);
+ result.Set(env, index, element);
+ DeleteLocalRef(env, element);
+ index++;
+ }
+
+ return result;
+}
+
+}