From b3a368ae06c5f82afdd617355afba388c90d19e8 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Tue, 27 Dec 2022 22:28:06 +0100 Subject: Android: Add VectorToJObjectArray utility function --- Source/Android/jni/AndroidCommon/AndroidCommon.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'Source/Android/jni/AndroidCommon/AndroidCommon.cpp') diff --git a/Source/Android/jni/AndroidCommon/AndroidCommon.cpp b/Source/Android/jni/AndroidCommon/AndroidCommon.cpp index 0a2667b1b6..53ef9174f4 100644 --- a/Source/Android/jni/AndroidCommon/AndroidCommon.cpp +++ b/Source/Android/jni/AndroidCommon/AndroidCommon.cpp @@ -20,7 +20,7 @@ std::string GetJString(JNIEnv* env, jstring jstr) const jchar* jchars = env->GetStringChars(jstr, nullptr); const jsize length = env->GetStringLength(jstr); const std::u16string_view string_view(reinterpret_cast(jchars), length); - const std::string converted_string = UTF16ToUTF8(string_view); + std::string converted_string = UTF16ToUTF8(string_view); env->ReleaseStringChars(jstr, jchars); return converted_string; } @@ -48,16 +48,9 @@ std::vector JStringArrayToVector(JNIEnv* env, jobjectArray array) return result; } -jobjectArray VectorToJStringArray(JNIEnv* env, std::vector vector) +jobjectArray VectorToJStringArray(JNIEnv* env, const std::vector& vector) { - jobjectArray result = env->NewObjectArray(vector.size(), IDCache::GetStringClass(), nullptr); - for (jsize i = 0; i < vector.size(); ++i) - { - jstring str = ToJString(env, vector[i]); - env->SetObjectArrayElement(result, i, str); - env->DeleteLocalRef(str); - } - return result; + return VectorToJObjectArray(env, vector, IDCache::GetStringClass(), ToJString); } bool IsPathAndroidContent(const std::string& uri) -- cgit v1.2.3