diff options
Diffstat (limited to 'Source/Android/jni/AndroidCommon/IDCache.cpp')
| -rw-r--r-- | Source/Android/jni/AndroidCommon/IDCache.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Source/Android/jni/AndroidCommon/IDCache.cpp b/Source/Android/jni/AndroidCommon/IDCache.cpp index ed382745c0..08ec2c9804 100644 --- a/Source/Android/jni/AndroidCommon/IDCache.cpp +++ b/Source/Android/jni/AndroidCommon/IDCache.cpp @@ -116,6 +116,10 @@ static jmethodID s_core_device_control_constructor; static jclass s_input_detector_class; static jfieldID s_input_detector_pointer; +static jclass s_permission_handler_class; +static jmethodID s_permission_handler_has_record_audio_permission; +static jmethodID s_permission_handler_request_record_audio_permission; + static jmethodID s_runnable_run; namespace IDCache @@ -538,6 +542,21 @@ jfieldID GetInputDetectorPointer() return s_input_detector_pointer; } +jclass GetPermissionHandlerClass() +{ + return s_permission_handler_class; +} + +jmethodID GetPermissionHandlerHasRecordAudioPermission() +{ + return s_permission_handler_has_record_audio_permission; +} + +jmethodID GetPermissionHandlerRequestRecordAudioPermission() +{ + return s_permission_handler_request_record_audio_permission; +} + jmethodID GetRunnableRun() { return s_runnable_run; @@ -765,6 +784,16 @@ JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) s_input_detector_pointer = env->GetFieldID(input_detector_class, "pointer", "J"); env->DeleteLocalRef(input_detector_class); + const jclass permission_handler_class = + env->FindClass("org/dolphinemu/dolphinemu/utils/PermissionsHandler"); + s_permission_handler_class = + reinterpret_cast<jclass>(env->NewGlobalRef(permission_handler_class)); + s_permission_handler_has_record_audio_permission = env->GetStaticMethodID( + permission_handler_class, "hasRecordAudioPermission", "(Landroid/content/Context;)Z"); + s_permission_handler_request_record_audio_permission = env->GetStaticMethodID( + permission_handler_class, "requestRecordAudioPermission", "(Landroid/app/Activity;)V"); + env->DeleteLocalRef(permission_handler_class); + const jclass runnable_class = env->FindClass("java/lang/Runnable"); s_runnable_run = env->GetMethodID(runnable_class, "run", "()V"); env->DeleteLocalRef(runnable_class); @@ -804,5 +833,6 @@ JNIEXPORT void JNI_OnUnload(JavaVM* vm, void* reserved) env->DeleteGlobalRef(s_core_device_class); env->DeleteGlobalRef(s_core_device_control_class); env->DeleteGlobalRef(s_input_detector_class); + env->DeleteGlobalRef(s_permission_handler_class); } } |
