diff options
author | Andreas Gampe <agampe@google.com> | 2014-11-18 17:29:46 -0800 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2014-11-19 09:21:12 -0800 |
commit | 987f79f60bb1f0a4bcd3ef22e57301c743f0b94f (patch) | |
tree | 0ca0916dade98039096346937279ee3587353ede /core/jni/android_os_MessageQueue.cpp | |
parent | 8462913d0c19973901a861749b4abbaacdf4b477 (diff) | |
download | frameworks_base-987f79f60bb1f0a4bcd3ef22e57301c743f0b94f.zip frameworks_base-987f79f60bb1f0a4bcd3ef22e57301c743f0b94f.tar.gz frameworks_base-987f79f60bb1f0a4bcd3ef22e57301c743f0b94f.tar.bz2 |
Frameworks/base: Replace LOG_FATAL_IF in core/jni
Do not use LOG_FATAL_IF in JNI setup. This is one-time on startup
and important enough to always check.
Add a header with common helper definitions. Move to inlined functions
instead of macros to clean up the code.
Change-Id: Ib12d0eed61b110c45d748e80ec36c563e9dec7e5
Diffstat (limited to 'core/jni/android_os_MessageQueue.cpp')
-rw-r--r-- | core/jni/android_os_MessageQueue.cpp | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/core/jni/android_os_MessageQueue.cpp b/core/jni/android_os_MessageQueue.cpp index 96a3e37..5d7877b 100644 --- a/core/jni/android_os_MessageQueue.cpp +++ b/core/jni/android_os_MessageQueue.cpp @@ -23,6 +23,8 @@ #include <utils/Log.h> #include "android_os_MessageQueue.h" +#include "core_jni_helpers.h" + namespace android { static struct { @@ -157,27 +159,15 @@ static JNINativeMethod gMessageQueueMethods[] = { { "nativeIsIdling", "(J)Z", (void*)android_os_MessageQueue_nativeIsIdling } }; -#define FIND_CLASS(var, className) \ - var = env->FindClass(className); \ - LOG_FATAL_IF(! var, "Unable to find class " className); +int register_android_os_MessageQueue(JNIEnv* env) { + int res = RegisterMethodsOrDie(env, "android/os/MessageQueue", gMessageQueueMethods, + NELEM(gMessageQueueMethods)); + + jclass clazz = FindClassOrDie(env, "android/os/MessageQueue"); -#define GET_FIELD_ID(var, clazz, fieldName, fieldDescriptor) \ - var = env->GetFieldID(clazz, fieldName, fieldDescriptor); \ - LOG_FATAL_IF(! var, "Unable to find field " fieldName); + gMessageQueueClassInfo.mPtr = GetFieldIDOrDie(env, clazz, "mPtr", "J"); -int register_android_os_MessageQueue(JNIEnv* env) { - int res = jniRegisterNativeMethods(env, "android/os/MessageQueue", - gMessageQueueMethods, NELEM(gMessageQueueMethods)); - LOG_FATAL_IF(res < 0, "Unable to register native methods."); - (void)res; - - jclass clazz; - FIND_CLASS(clazz, "android/os/MessageQueue"); - - GET_FIELD_ID(gMessageQueueClassInfo.mPtr, clazz, - "mPtr", "J"); - - return 0; + return res; } } // namespace android |