#include <strings.h>
#include "c11/threads.h"
#include "util/macros.h"
+#include "util/u_string.h"
#include "egllog.h"
#ifdef HAVE_ANDROID_PLATFORM
#define LOG_TAG "EGL-MAIN"
+#if ANDROID_API_LEVEL >= 26
+#include <log/log.h>
+#else
#include <cutils/log.h>
-
-/* support versions < JellyBean */
-#ifndef ALOGW
-#define ALOGW LOGW
-#endif
-#ifndef ALOGD
-#define ALOGD LOGD
-#endif
-#ifndef ALOGI
-#define ALOGI LOGI
-#endif
+#endif /* use log/log.h start from android 8 major version */
#endif /* HAVE_ANDROID_PLATFORM */
_eglDefaultLogger(EGLint level, const char *msg)
{
#ifdef HAVE_ANDROID_PLATFORM
- switch (level) {
- case _EGL_DEBUG:
- ALOGD("%s", msg);
- break;
- case _EGL_INFO:
- ALOGI("%s", msg);
- break;
- case _EGL_WARNING:
- ALOGW("%s", msg);
- break;
- case _EGL_FATAL:
- LOG_FATAL("%s", msg);
- break;
- default:
- break;
- }
+ static const int egl2alog[] = {
+ [_EGL_FATAL] = ANDROID_LOG_ERROR,
+ [_EGL_WARNING] = ANDROID_LOG_WARN,
+ [_EGL_INFO] = ANDROID_LOG_INFO,
+ [_EGL_DEBUG] = ANDROID_LOG_DEBUG,
+ };
+ LOG_PRI(egl2alog[level], LOG_TAG, "%s", msg);
#else
fprintf(stderr, "libEGL %s: %s\n", level_strings[level], msg);
#endif /* HAVE_ANDROID_PLATFORM */