summaryrefslogtreecommitdiff
path: root/Source/Android/jni/AndroidCommon/AndroidCommon.cpp
diff options
context:
space:
mode:
authorSintendo <3380580+Sintendo@users.noreply.github.com>2025-12-24 10:14:02 +0100
committerSintendo <3380580+Sintendo@users.noreply.github.com>2026-01-24 16:50:10 +0100
commitf2e1c71803b953c9adb9528c168cbbde23b3b30a (patch)
tree276c17d2bbfaebc6dc2193e1f6e3a6f387eb0787 /Source/Android/jni/AndroidCommon/AndroidCommon.cpp
parent3221e982d371afd39793628bf8973f3cc951db35 (diff)
Common/FileSearch: Refactor DoFileSearch
Diffstat (limited to 'Source/Android/jni/AndroidCommon/AndroidCommon.cpp')
-rw-r--r--Source/Android/jni/AndroidCommon/AndroidCommon.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/Source/Android/jni/AndroidCommon/AndroidCommon.cpp b/Source/Android/jni/AndroidCommon/AndroidCommon.cpp
index a976d573b8..029b64aa36 100644
--- a/Source/Android/jni/AndroidCommon/AndroidCommon.cpp
+++ b/Source/Android/jni/AndroidCommon/AndroidCommon.cpp
@@ -5,6 +5,7 @@
#include <algorithm>
#include <ios>
+#include <span>
#include <string>
#include <string_view>
#include <vector>
@@ -49,9 +50,13 @@ std::vector<std::string> JStringArrayToVector(JNIEnv* env, jobjectArray array)
return result;
}
-jobjectArray VectorToJStringArray(JNIEnv* env, const std::vector<std::string>& vector)
+jobjectArray SpanToJStringArray(JNIEnv* env, std::span<const std::string_view> span)
{
- return VectorToJObjectArray(env, vector, IDCache::GetStringClass(), ToJString);
+ return SpanToJObjectArray(env, span, IDCache::GetStringClass(), ToJString);
+}
+jobjectArray SpanToJStringArray(JNIEnv* env, std::span<const std::string> span)
+{
+ return SpanToJObjectArray(env, span, IDCache::GetStringClass(), ToJString);
}
bool IsPathAndroidContent(std::string_view uri)
@@ -193,13 +198,13 @@ std::vector<std::string> GetAndroidContentChildNames(std::string_view uri)
}
std::vector<std::string> DoFileSearchAndroidContent(std::string_view directory,
- const std::vector<std::string>& extensions,
+ std::span<const std::string_view> extensions,
bool recursive)
{
JNIEnv* env = IDCache::GetEnvForThread();
jstring j_directory = ToJString(env, directory);
- jobjectArray j_extensions = VectorToJStringArray(env, extensions);
+ jobjectArray j_extensions = SpanToJStringArray(env, extensions);
jobjectArray j_result = reinterpret_cast<jobjectArray>(env->CallStaticObjectMethod(
IDCache::GetContentHandlerClass(), IDCache::GetContentHandlerDoFileSearch(), j_directory,