From cf8fc08e701e5b4340700bf08b8125a8d6916d59 Mon Sep 17 00:00:00 2001 From: Tobrun Date: Mon, 16 Jul 2018 16:54:58 +0200 Subject: [android] - add c++ integratio for logger, platform logs are now forwarded to the abstract logger --- platform/android/src/logger.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 platform/android/src/logger.cpp (limited to 'platform/android/src/logger.cpp') diff --git a/platform/android/src/logger.cpp b/platform/android/src/logger.cpp new file mode 100644 index 0000000000..a0d36fb2d4 --- /dev/null +++ b/platform/android/src/logger.cpp @@ -0,0 +1,33 @@ +#include "logger.hpp" +#include "java_types.hpp" + +namespace mbgl { +namespace android { + +void Logger::registerNative(jni::JNIEnv& env) { + _class = *jni::Class::Find(env).NewGlobalRef(env).release(); +} + +jni::Class Logger::_class; + +void Logger::log(jni::JNIEnv& env, EventSeverity severity, const std::string &msg) { + auto message = jni::Make(env, msg); + using Signature = void(jni::String); + + if(severity == EventSeverity::Debug){ + auto method = _class.GetStaticMethod(env, "d"); + _class.Call(env, method, message); + }else if(severity == EventSeverity::Info){ + auto method = _class.GetStaticMethod(env, "i"); + _class.Call(env, method, message); + }else if(severity == EventSeverity::Warning){ + auto method = _class.GetStaticMethod(env, "w"); + _class.Call(env, method, message); + }else{ + auto method = _class.GetStaticMethod(env, "e"); + _class.Call(env, method, message); + } +} + +} // namespace android +} // namespace mbgl -- cgit v1.2.1