From 9661693e72ecdf244897e6e7ca62315037c48a75 Mon Sep 17 00:00:00 2001 From: qimiko <25387744+qimiko@users.noreply.github.com> Date: Fri, 12 Jan 2024 19:15:53 -0700 Subject: [PATCH] getGameVersion android but commented out --- loader/src/platform/android/LoaderImpl.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/loader/src/platform/android/LoaderImpl.cpp b/loader/src/platform/android/LoaderImpl.cpp index b9962327..91e8bd56 100644 --- a/loader/src/platform/android/LoaderImpl.cpp +++ b/loader/src/platform/android/LoaderImpl.cpp @@ -9,6 +9,7 @@ using namespace geode::prelude; #ifdef GEODE_IS_ANDROID +#include #include namespace { @@ -25,7 +26,25 @@ namespace { std::string Loader::Impl::getGameVersion() { if (m_gdVersion.empty()) { - // TODO: detect gd version + /* + // before uncommenting please note: + // getGameVersion can only run after JNI_OnLoad is called. otherwise it crashes + + JniMethodInfo t; + if (JniHelper::getStaticMethodInfo(t, "com/geode/launcher/utils/GeodeUtils", "getGameVersion", "()Ljava/lang/String;")) { + jstring str = reinterpret_cast(t.env->CallStaticObjectMethod(t.classID, t.methodID)); + t.env->DeleteLocalRef(t.classID); + m_gdVersion = JniHelper::jstring2string(str); + t.env->DeleteLocalRef(str); + } else { + auto vm = JniHelper::getJavaVM(); + + JNIEnv* env; + if (vm->GetEnv(reinterpret_cast(&env), JNI_VERSION_1_6) == JNI_OK) { + env->ExceptionClear(); + } + } + */ } return m_gdVersion; }