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