summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Daniel Colascione <dancol@google.com> 2019-11-18 13:49:48 -0800
committer Daniel Colascione <dancol@google.com> 2019-11-18 14:03:16 -0800
commit773c4f78d80dae19faf94f4455a6902e2578fcd4 (patch)
treec1908a954061da1e9c64efafe7970d505008fb1a
parent3a4addba4b4103d27e2f15e754aebea75b4777f8 (diff)
Port CRITICAL_JNI_PARAMS from internal master
Test: other CLs compile Change-Id: Ie8d2475279877c853971a88c01e8456357eec117
-rw-r--r--core/jni/core_jni_helpers.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/core/jni/core_jni_helpers.h b/core/jni/core_jni_helpers.h
index 16ef753c0cd0..f03f42737134 100644
--- a/core/jni/core_jni_helpers.h
+++ b/core/jni/core_jni_helpers.h
@@ -22,6 +22,18 @@
#include <nativehelper/scoped_utf_chars.h>
#include <android_runtime/AndroidRuntime.h>
+// Host targets (layoutlib) do not differentiate between regular and critical native methods,
+// and they need all the JNI methods to have JNIEnv* and jclass/jobject as their first two arguments.
+// The following macro allows to have those arguments when compiling for host while omitting them when
+// compiling for Android.
+#ifdef __ANDROID__
+#define CRITICAL_JNI_PARAMS
+#define CRITICAL_JNI_PARAMS_COMMA
+#else
+#define CRITICAL_JNI_PARAMS JNIEnv*, jclass
+#define CRITICAL_JNI_PARAMS_COMMA JNIEnv*, jclass,
+#endif
+
namespace android {
// Defines some helpful functions.