summaryrefslogtreecommitdiffstats
path: root/platform/android/java_godot_wrapper.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2023-09-06 00:09:07 +0200
committerGitHub <noreply@github.com>2023-09-06 00:09:07 +0200
commit0a7f75ec7b465604b6496c8f5f1d638aed250d6d (patch)
tree225e92d7fdd6115b5e1efd595ac89e2089ea3c15 /platform/android/java_godot_wrapper.cpp
parent332bc469c46e1372cdf3222bd3d31c382afc2784 (diff)
parent8cc7739197b679e158b9f24d46e1b195a6c099ea (diff)
downloadredot-engine-0a7f75ec7b465604b6496c8f5f1d638aed250d6d.tar.gz
Merge pull request #80740 from m4gr3d/godot_android_plugin_refactor_main
Godot Android plugin re-architecture
Diffstat (limited to 'platform/android/java_godot_wrapper.cpp')
-rw-r--r--platform/android/java_godot_wrapper.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/platform/android/java_godot_wrapper.cpp b/platform/android/java_godot_wrapper.cpp
index 79ba2528ba..a01a74f1fd 100644
--- a/platform/android/java_godot_wrapper.cpp
+++ b/platform/android/java_godot_wrapper.cpp
@@ -79,6 +79,7 @@ GodotJavaWrapper::GodotJavaWrapper(JNIEnv *p_env, jobject p_activity, jobject p_
_begin_benchmark_measure = p_env->GetMethodID(godot_class, "nativeBeginBenchmarkMeasure", "(Ljava/lang/String;)V");
_end_benchmark_measure = p_env->GetMethodID(godot_class, "nativeEndBenchmarkMeasure", "(Ljava/lang/String;)V");
_dump_benchmark = p_env->GetMethodID(godot_class, "nativeDumpBenchmark", "(Ljava/lang/String;)V");
+ _get_gdextension_list_config_file = p_env->GetMethodID(godot_class, "getGDExtensionConfigFiles", "()[Ljava/lang/String;");
}
GodotJavaWrapper::~GodotJavaWrapper() {
@@ -264,6 +265,25 @@ Vector<String> GodotJavaWrapper::get_granted_permissions() const {
return permissions_list;
}
+Vector<String> GodotJavaWrapper::get_gdextension_list_config_file() const {
+ Vector<String> config_file_list;
+ if (_get_gdextension_list_config_file) {
+ JNIEnv *env = get_jni_env();
+ ERR_FAIL_NULL_V(env, config_file_list);
+ jobject config_file_list_object = env->CallObjectMethod(godot_instance, _get_gdextension_list_config_file);
+ jobjectArray *arr = reinterpret_cast<jobjectArray *>(&config_file_list_object);
+
+ jsize len = env->GetArrayLength(*arr);
+ for (int i = 0; i < len; i++) {
+ jstring j_config_file = (jstring)env->GetObjectArrayElement(*arr, i);
+ String config_file = jstring_to_string(j_config_file, env);
+ config_file_list.push_back(config_file);
+ env->DeleteLocalRef(j_config_file);
+ }
+ }
+ return config_file_list;
+}
+
String GodotJavaWrapper::get_ca_certificates() const {
if (_get_ca_certificates) {
JNIEnv *env = get_jni_env();