From f52a221c7388a556602698f7913d914f3ec13829 Mon Sep 17 00:00:00 2001 From: Mis012 Date: Mon, 15 Apr 2024 23:11:24 +0200 Subject: [PATCH] android_os_MessageQueue: move looper prototypes to header, fix incorrect prototype --- src/api-impl-jni/android_os_MessageQueue.c | 10 ++-------- src/libandroid/looper.c | 3 ++- src/libandroid/looper.h | 10 ++++++++++ 3 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 src/libandroid/looper.h diff --git a/src/api-impl-jni/android_os_MessageQueue.c b/src/api-impl-jni/android_os_MessageQueue.c index 0c815a8b..5ee9c6e5 100644 --- a/src/api-impl-jni/android_os_MessageQueue.c +++ b/src/api-impl-jni/android_os_MessageQueue.c @@ -7,15 +7,9 @@ #include +#include "../libandroid/looper.h" #include "generated_headers/android_os_MessageQueue.h" -/* TODO put these in a header */ -typedef void ALooper; -ALooper * ALooper_prepare(void); -void ALooper_wake(ALooper *looper); -bool ALooper_isPolling(ALooper *looper); -int ALooper_pollOnce(int timeoutMillis, int* outFd, int* outEvents, void** outData); - struct native_message_queue { ALooper *looper; bool in_callback; @@ -40,7 +34,7 @@ JNIEXPORT jlong JNICALL Java_android_os_MessageQueue_nativeInit(JNIEnv *env, jcl struct native_message_queue *message_queue = malloc(sizeof(struct native_message_queue)); message_queue->in_callback = false; - message_queue->looper = ALooper_prepare(); + message_queue->looper = ALooper_prepare(0); message_queue->is_main_thread = g_thread_self() == main_thread_id; return _INTPTR(message_queue); diff --git a/src/libandroid/looper.c b/src/libandroid/looper.c index 134c2679..a17b9e0a 100644 --- a/src/libandroid/looper.c +++ b/src/libandroid/looper.c @@ -2,7 +2,8 @@ #include #include -typedef void ALooper; +#include "looper.h" + typedef int (*Looper_callbackFunc)(int fd, int events, void* data); // dummy strong pointer class diff --git a/src/libandroid/looper.h b/src/libandroid/looper.h new file mode 100644 index 00000000..f41e75e0 --- /dev/null +++ b/src/libandroid/looper.h @@ -0,0 +1,10 @@ +#ifndef LOOPER_H +#define LOOPER_H + +typedef void ALooper; +ALooper * ALooper_prepare(int opts); +void ALooper_wake(ALooper *looper); +bool ALooper_isPolling(ALooper *looper); +int ALooper_pollOnce(int timeoutMillis, int* outFd, int* outEvents, void** outData); + +#endif