diff --git a/src/android/app/src/main/jni/CMakeLists.txt b/src/android/app/src/main/jni/CMakeLists.txt index 77b95130d..443b39d57 100644 --- a/src/android/app/src/main/jni/CMakeLists.txt +++ b/src/android/app/src/main/jni/CMakeLists.txt @@ -1,4 +1,6 @@ add_library(citra-android SHARED + android_common/android_common.cpp + android_common/android_common.h applets/mii_selector.cpp applets/mii_selector.h applets/swkbd.cpp diff --git a/src/android/app/src/main/jni/android_common/android_common.cpp b/src/android/app/src/main/jni/android_common/android_common.cpp new file mode 100644 index 000000000..b00d9a171 --- /dev/null +++ b/src/android/app/src/main/jni/android_common/android_common.cpp @@ -0,0 +1,20 @@ +// Copyright 2022 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "jni/android_common/android_common.h" + +#include + +#include + +std::string GetJString(JNIEnv *env, jstring jstr) { + if (!jstr) { + return {}; + } + + const char *s = env->GetStringUTFChars(jstr, nullptr); + std::string result = s; + env->ReleaseStringUTFChars(jstr, s); + return result; +} diff --git a/src/android/app/src/main/jni/android_common/android_common.h b/src/android/app/src/main/jni/android_common/android_common.h new file mode 100644 index 000000000..50b4c8d22 --- /dev/null +++ b/src/android/app/src/main/jni/android_common/android_common.h @@ -0,0 +1,11 @@ +// Copyright 2022 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include + +#include + +std::string GetJString(JNIEnv* env, jstring jstr); diff --git a/src/android/app/src/main/jni/applets/swkbd.cpp b/src/android/app/src/main/jni/applets/swkbd.cpp index 062d307a6..f5babae9d 100644 --- a/src/android/app/src/main/jni/applets/swkbd.cpp +++ b/src/android/app/src/main/jni/applets/swkbd.cpp @@ -3,22 +3,14 @@ // Refer to the license.txt file included. #include + #include + #include "core/core.h" +#include "jni/android_common/android_common.h" #include "jni/applets/swkbd.h" #include "jni/id_cache.h" -static std::string GetJString(JNIEnv* env, jstring jstr) { - if (!jstr) { - return {}; - } - - const char* s = env->GetStringUTFChars(jstr, nullptr); - std::string result = s; - env->ReleaseStringUTFChars(jstr, s); - return result; -} - static jclass s_software_keyboard_class; static jclass s_keyboard_config_class; static jclass s_keyboard_data_class; diff --git a/src/android/app/src/main/jni/native.cpp b/src/android/app/src/main/jni/native.cpp index 6dffc1225..ecae76fe2 100644 --- a/src/android/app/src/main/jni/native.cpp +++ b/src/android/app/src/main/jni/native.cpp @@ -27,6 +27,7 @@ #include "core/hle/service/nfc/nfc.h" #include "core/savestate.h" #include "core/settings.h" +#include "jni/android_common/android_common.h" #include "jni/applets/mii_selector.h" #include "jni/applets/swkbd.h" #include "jni/camera/ndk_camera.h" @@ -58,17 +59,6 @@ std::condition_variable running_cv; } // Anonymous namespace -static std::string GetJString(JNIEnv* env, jstring jstr) { - if (!jstr) { - return {}; - } - - const char* s = env->GetStringUTFChars(jstr, nullptr); - std::string result = s; - env->ReleaseStringUTFChars(jstr, s); - return result; -} - static bool DisplayAlertMessage(const char* caption, const char* text, bool yes_no) { JNIEnv* env = IDCache::GetEnvForThread();