diff --git a/jni/evdev_reader/Android.mk b/jni/evdev_reader/Android.mk index 30898f5c..e67e41da 100644 --- a/jni/evdev_reader/Android.mk +++ b/jni/evdev_reader/Android.mk @@ -8,5 +8,6 @@ LOCAL_PATH := $(MY_LOCAL_PATH) include $(CLEAR_VARS) LOCAL_MODULE := evdev_reader LOCAL_SRC_FILES := evdev_reader.c +LOCAL_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY) diff --git a/jni/evdev_reader/evdev_reader.c b/jni/evdev_reader/evdev_reader.c index c003911c..eb90b308 100644 --- a/jni/evdev_reader/evdev_reader.c +++ b/jni/evdev_reader/evdev_reader.c @@ -8,6 +8,8 @@ #include #include +#include + JNIEXPORT jint JNICALL Java_com_limelight_binding_input_evdev_EvdevReader_open(JNIEnv *env, jobject this, jstring absolutePath) { const char *path; @@ -67,6 +69,8 @@ Java_com_limelight_binding_input_evdev_EvdevReader_read(JNIEnv *env, jobject thi data = (*env)->GetByteArrayElements(env, buffer, NULL); if (data == NULL) { + __android_log_print(ANDROID_LOG_ERROR, "EvdevReader", + "Failed to get byte array"); return -1; } @@ -83,10 +87,23 @@ Java_com_limelight_binding_input_evdev_EvdevReader_read(JNIEnv *env, jobject thi if (pollres > 0 && (pollinfo.revents & POLLIN)) { // We'll have data available now ret = read(fd, data, sizeof(struct input_event)); + if (ret < 0) { + __android_log_print(ANDROID_LOG_ERROR, "EvdevReader", + "read() failed: %d", errno); + } } else { // There must have been a failure ret = -1; + + if (pollres < 0) { + __android_log_print(ANDROID_LOG_ERROR, "EvdevReader", + "poll() failed: %d", errno); + } + else { + __android_log_print(ANDROID_LOG_ERROR, "EvdevReader", + "Unexpected revents: %d", pollinfo.revents); + } } (*env)->ReleaseByteArrayElements(env, buffer, data, 0); diff --git a/libs/arm64-v8a/libevdev_reader.so b/libs/arm64-v8a/libevdev_reader.so index 4f9ea00b..42889536 100755 Binary files a/libs/arm64-v8a/libevdev_reader.so and b/libs/arm64-v8a/libevdev_reader.so differ diff --git a/libs/armeabi-v7a/libevdev_reader.so b/libs/armeabi-v7a/libevdev_reader.so index fc4ba86b..f5fdebc0 100755 Binary files a/libs/armeabi-v7a/libevdev_reader.so and b/libs/armeabi-v7a/libevdev_reader.so differ diff --git a/libs/mips/libevdev_reader.so b/libs/mips/libevdev_reader.so index 6a9a3979..4ea4b73d 100755 Binary files a/libs/mips/libevdev_reader.so and b/libs/mips/libevdev_reader.so differ diff --git a/libs/x86/libevdev_reader.so b/libs/x86/libevdev_reader.so index 7b7ed214..061a6b64 100755 Binary files a/libs/x86/libevdev_reader.so and b/libs/x86/libevdev_reader.so differ diff --git a/libs/x86_64/libevdev_reader.so b/libs/x86_64/libevdev_reader.so index b6f93fe9..3a12f312 100755 Binary files a/libs/x86_64/libevdev_reader.so and b/libs/x86_64/libevdev_reader.so differ