summaryrefslogtreecommitdiff
path: root/platform/android/src/conversion/collection.cpp
diff options
context:
space:
mode:
authorWilhelm Berg <wb@BergWerk-GIS.at>2018-09-12 15:07:57 +0200
committerWilhelm Berg <wb@BergWerk-GIS.at>2018-09-12 15:07:57 +0200
commit98b34cb0dbf5c50d7f319724c93021418140b15f (patch)
tree11cd51f86b5c672dda6bfe087f40f77df1553971 /platform/android/src/conversion/collection.cpp
parentee17d79f9420eb859303d977955454dacc470db6 (diff)
parent079ba0209ed383c15123902f0810e658c2b0abf4 (diff)
downloadqtlocation-mapboxgl-upstream/bwg-vs2017.tar.gz
Merge remote-tracking branch 'origin' into bwg-vs2017upstream/bwg-vs2017
# Conflicts: # cmake/mason-dependencies.cmake
Diffstat (limited to 'platform/android/src/conversion/collection.cpp')
-rw-r--r--platform/android/src/conversion/collection.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/platform/android/src/conversion/collection.cpp b/platform/android/src/conversion/collection.cpp
index 27b614e8cd..954a161baf 100644
--- a/platform/android/src/conversion/collection.cpp
+++ b/platform/android/src/conversion/collection.cpp
@@ -5,20 +5,28 @@ namespace mbgl {
namespace android {
namespace conversion {
-std::vector<std::string> toVector(JNIEnv& env, jni::Array<jni::String> array) {
+std::vector<std::string> toVector(JNIEnv& env, const jni::Array<jni::String>& array) {
std::size_t len = array.Length(env);
std::vector<std::string> vector;
vector.reserve(len);
for (std::size_t i = 0; i < len; i++) {
- jni::String jstr = array.Get(env, i);
- vector.push_back(*convert<std::string, jni::String>(env, jstr));
- jni::DeleteLocalRef(env, jstr);
+ vector.push_back(jni::Make<std::string>(env, array.Get(env, i)));
}
return vector;
}
+jni::Local<jni::Array<jni::String>> toArray(JNIEnv& env, const std::vector<std::string>& vector) {
+ auto result = jni::Array<jni::String>::New(env, vector.size());
+
+ for (std::size_t i = 0; i < vector.size(); i++) {
+ result.Set(env, i, jni::Make<jni::String>(env, vector.at(i)));
+ }
+
+ return result;
+}
+
}
}
}