summaryrefslogtreecommitdiff
path: root/platform/android/src/conversion/collection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/conversion/collection.cpp')
-rw-r--r--platform/android/src/conversion/collection.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/platform/android/src/conversion/collection.cpp b/platform/android/src/conversion/collection.cpp
index 27b614e8cd..6775228e15 100644
--- a/platform/android/src/conversion/collection.cpp
+++ b/platform/android/src/conversion/collection.cpp
@@ -19,6 +19,21 @@ std::vector<std::string> toVector(JNIEnv& env, jni::Array<jni::String> array) {
return vector;
}
+jni::Array<jni::String> toArray(JNIEnv& env, const std::vector<std::string>& vector) {
+ static auto clazz = *jni::Class<jni::StringTag>::Find(env).NewGlobalRef(env).release();
+ auto result = jni::Array<jni::String>::New(env, vector.size(), clazz);
+
+ std::size_t index = 0;
+ for (auto&& item : vector) {
+ auto element = jni::Make<jni::String>(env, item);
+ result.Set(env, index, element);
+ DeleteLocalRef(env, element);
+ index++;
+ }
+
+ return result;
+}
+
}
}
}