diff options
Diffstat (limited to 'src/android/app/src/main/jni/id_cache.cpp')
-rw-r--r-- | src/android/app/src/main/jni/id_cache.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/android/app/src/main/jni/id_cache.cpp b/src/android/app/src/main/jni/id_cache.cpp index 6291c8652..7edadb94a 100644 --- a/src/android/app/src/main/jni/id_cache.cpp +++ b/src/android/app/src/main/jni/id_cache.cpp @@ -3,13 +3,18 @@ #include <jni.h> +#include "common/assert.h" #include "common/fs/fs_android.h" #include "jni/applets/software_keyboard.h" #include "jni/id_cache.h" +#include "video_core/rasterizer_interface.h" static JavaVM* s_java_vm; static jclass s_native_library_class; +static jclass s_disk_cache_progress_class; +static jclass s_load_callback_stage_class; static jmethodID s_exit_emulation_activity; +static jmethodID s_disk_cache_load_progress; static constexpr jint JNI_VERSION = JNI_VERSION_1_6; @@ -38,10 +43,22 @@ jclass GetNativeLibraryClass() { return s_native_library_class; } +jclass GetDiskCacheProgressClass() { + return s_disk_cache_progress_class; +} + +jclass GetDiskCacheLoadCallbackStageClass() { + return s_load_callback_stage_class; +} + jmethodID GetExitEmulationActivity() { return s_exit_emulation_activity; } +jmethodID GetDiskCacheLoadProgress() { + return s_disk_cache_load_progress; +} + } // namespace IDCache #ifdef __cplusplus @@ -58,8 +75,16 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) { // Initialize Java classes const jclass native_library_class = env->FindClass("org/yuzu/yuzu_emu/NativeLibrary"); s_native_library_class = reinterpret_cast<jclass>(env->NewGlobalRef(native_library_class)); + s_disk_cache_progress_class = reinterpret_cast<jclass>(env->NewGlobalRef( + env->FindClass("org/yuzu/yuzu_emu/disk_shader_cache/DiskShaderCacheProgress"))); + s_load_callback_stage_class = reinterpret_cast<jclass>(env->NewGlobalRef(env->FindClass( + "org/yuzu/yuzu_emu/disk_shader_cache/DiskShaderCacheProgress$LoadCallbackStage"))); + + // Initialize methods s_exit_emulation_activity = env->GetStaticMethodID(s_native_library_class, "exitEmulationActivity", "(I)V"); + s_disk_cache_load_progress = + env->GetStaticMethodID(s_disk_cache_progress_class, "loadProgress", "(III)V"); // Initialize Android Storage Common::FS::Android::RegisterCallbacks(env, s_native_library_class); @@ -79,6 +104,8 @@ void JNI_OnUnload(JavaVM* vm, void* reserved) { // UnInitialize Android Storage Common::FS::Android::UnRegisterCallbacks(); env->DeleteGlobalRef(s_native_library_class); + env->DeleteGlobalRef(s_disk_cache_progress_class); + env->DeleteGlobalRef(s_load_callback_stage_class); // UnInitialze applets SoftwareKeyboard::CleanupJNI(env); |