mirror of https://github.com/bjornbytes/lovr.git
lovrPlatformRequest{AudioCapture->Permission}(Perm) + platform stubs
This commit is contained in:
parent
084ac9d880
commit
5e66ecf000
|
@ -171,5 +171,5 @@ void lovrPlatformGetMousePosition(double* x, double* y);
|
|||
void lovrPlatformSetMouseMode(MouseMode mode);
|
||||
bool lovrPlatformIsMouseDown(MouseButton button);
|
||||
bool lovrPlatformIsKeyDown(KeyboardKey key);
|
||||
void lovrPlatformRequestAudioCapture();
|
||||
void lovrPlatformRequestPermission(Permission permission);
|
||||
void lovrPlatformOnPermissionEvent(permissionsCallback callback);
|
|
@ -473,17 +473,19 @@ bool lovrPlatformIsKeyDown(KeyboardKey key) {
|
|||
|
||||
// permissions
|
||||
|
||||
void lovrPlatformRequestAudioCapture() {
|
||||
jobject activity = state.app->activity->clazz;
|
||||
jclass class = (*state.jni)->GetObjectClass(state.jni, activity);
|
||||
jmethodID requestAudioCapturePermission = (*state.jni)->GetMethodID(state.jni, class, "requestAudioCapturePermission", "()V");
|
||||
if (!requestAudioCapturePermission) {
|
||||
(*state.jni)->DeleteLocalRef(state.jni, class);
|
||||
if(state.onPermissionEvent) state.onPermissionEvent(AUDIO_CAPTURE_PERMISSION, false);
|
||||
return;
|
||||
}
|
||||
void lovrPlatformRequestPermission(Permission permission) {
|
||||
if (permission == AUDIO_CAPTURE_PERMISSION) {
|
||||
jobject activity = state.app->activity->clazz;
|
||||
jclass class = (*state.jni)->GetObjectClass(state.jni, activity);
|
||||
jmethodID requestAudioCapturePermission = (*state.jni)->GetMethodID(state.jni, class, "requestAudioCapturePermission", "()V");
|
||||
if (!requestAudioCapturePermission) {
|
||||
(*state.jni)->DeleteLocalRef(state.jni, class);
|
||||
if(state.onPermissionEvent) state.onPermissionEvent(AUDIO_CAPTURE_PERMISSION, false);
|
||||
return;
|
||||
}
|
||||
|
||||
(*state.jni)->CallVoidMethod(state.jni, activity, requestAudioCapturePermission);
|
||||
(*state.jni)->CallVoidMethod(state.jni, activity, requestAudioCapturePermission);
|
||||
}
|
||||
}
|
||||
|
||||
void lovrPlatformOnPermissionEvent(permissionsCallback callback) {
|
||||
|
|
|
@ -114,3 +114,13 @@ size_t lovrPlatformGetBundlePath(char* buffer, size_t size, const char** root) {
|
|||
*root = NULL;
|
||||
return lovrPlatformGetExecutablePath(buffer, size);
|
||||
}
|
||||
|
||||
void lovrPlatformRequestPermission(Permission permission)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void lovrPlatformOnPermissionEvent(permissionsCallback callback)
|
||||
{
|
||||
|
||||
}
|
|
@ -121,3 +121,13 @@ size_t lovrPlatformGetBundlePath(char* buffer, size_t size, const char** root) {
|
|||
*root = NULL;
|
||||
return length;
|
||||
}
|
||||
|
||||
void lovrPlatformRequestPermission(Permission permission)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void lovrPlatformOnPermissionEvent(permissionsCallback callback)
|
||||
{
|
||||
|
||||
}
|
|
@ -370,3 +370,13 @@ bool lovrPlatformIsMouseDown(MouseButton button) {
|
|||
bool lovrPlatformIsKeyDown(KeyboardKey key) {
|
||||
return state.keyMap[key];
|
||||
}
|
||||
|
||||
void lovrPlatformRequestPermission(Permission permission)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void lovrPlatformOnPermissionEvent(permissionsCallback callback)
|
||||
{
|
||||
|
||||
}
|
|
@ -100,3 +100,13 @@ size_t lovrPlatformGetBundlePath(char* buffer, size_t size, const char** root) {
|
|||
*root = NULL;
|
||||
return lovrPlatformGetExecutablePath(buffer, size);
|
||||
}
|
||||
|
||||
void lovrPlatformRequestPermission(Permission permission)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void lovrPlatformOnPermissionEvent(permissionsCallback callback)
|
||||
{
|
||||
|
||||
}
|
|
@ -248,7 +248,7 @@ bool lovrAudioStart(AudioType type) {
|
|||
if(state.config[type].enable == false) {
|
||||
if(lovrAudioInitDevice(type) == false) {
|
||||
if (type == AUDIO_CAPTURE) {
|
||||
lovrPlatformRequestAudioCapture();
|
||||
lovrPlatformRequestPermission(AUDIO_CAPTURE_PERMISSION);
|
||||
// lovrAudioStart will be retried from boot.lua upon permission granted event
|
||||
}
|
||||
return false;
|
||||
|
|
Loading…
Reference in New Issue