summaryrefslogtreecommitdiff
path: root/Source/Android/jni/AndroidCommon/IDCache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Android/jni/AndroidCommon/IDCache.cpp')
-rw-r--r--Source/Android/jni/AndroidCommon/IDCache.cpp30
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);
}
}