aboutsummaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2026-08-16 21:25:21 +1200
committerArslaan Pathan <[email protected]>2026-08-16 21:25:21 +1200
commita01f01f610fccbff5fb555f34c9d192aaeab8140 (patch)
tree05c0013ffe20015ef2b48880f17266137be46bf7 /app/src/main
parent138561e95059b1924437a1dccc2a9c30c05f59f5 (diff)
downloadmoku-assistant-a01f01f610fccbff5fb555f34c9d192aaeab8140.tar.xz
moku-assistant-a01f01f610fccbff5fb555f34c9d192aaeab8140.zip
[feat] add mic permission function
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/jni/main.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/src/main/jni/main.c b/app/src/main/jni/main.c
index 0afa0cd..0fa7be7 100644
--- a/app/src/main/jni/main.c
+++ b/app/src/main/jni/main.c
@@ -36,6 +36,28 @@ JNIEXPORT void JNICALL Java_com_arslaancodes_mokuassistant_AssistantService_stop
LOGI("stopAssistant called");
}
+void request_mic_permission(struct android_app *app) {
+ JNIEnv *env;
+ JavaVM *jvm = app->activity->vm;
+
+ (*jvm)->AttachCurrentThread(jvm, &env, NULL);
+
+ jclass activity_class = (*env)->GetObjectClass(env, app->activity->clazz);
+ jmethodID request_permissions = (*env)->GetMethodID(env, activity_class, "requestPermissions", "([Ljava/lang/String;I)V");
+
+ jstring perm_string = (*env)->NewStringUTF(env, "android.permission.RECORD_AUDIO");
+ jobjectArray perm_array = (*env)->NewObjectArray(env, 1, (*env)->FindClass(env, "java/lang/String"), perm_string);
+
+ (*env)->CallVoidMethod(env, app->activity->clazz, request_permissions, perm_array, 0);
+
+ (*env)->DeleteLocalRef(env, perm_string);
+ (*env)->DeleteLocalRef(env, perm_array);
+
+ (*jvm)->DetachCurrentThread(jvm);
+
+ LOGI("Mic permission requested");
+}
+
void request_notification_permission(struct android_app *app) {
JNIEnv *env;
JavaVM *jvm = app->activity->vm;