diff --git a/Source/Core/Common/CMakeLists.txt b/Source/Core/Common/CMakeLists.txt index 762e285b64..21fdd2104e 100644 --- a/Source/Core/Common/CMakeLists.txt +++ b/Source/Core/Common/CMakeLists.txt @@ -32,9 +32,16 @@ set(SRCS BreakPoints.cpp x64Emitter.cpp Crypto/bn.cpp Crypto/ec.cpp - Logging/ConsoleListenerNix.cpp Logging/LogManager.cpp) +if(ANDROID) + set(SRCS ${SRCS} + Logging/ConsoleListenerDroid.cpp) +else() + set(SRCS ${SRCS} + Logging/ConsoleListenerNix.cpp) +endif() + set(LIBS enet) if(_M_ARM_64) set(SRCS ${SRCS} diff --git a/Source/Core/Common/Logging/ConsoleListenerDroid.cpp b/Source/Core/Common/Logging/ConsoleListenerDroid.cpp new file mode 100644 index 0000000000..1a37442756 --- /dev/null +++ b/Source/Core/Common/Logging/ConsoleListenerDroid.cpp @@ -0,0 +1,42 @@ +// Copyright 2015 Dolphin Emulator Project +// Licensed under GPLv2+ +// Refer to the license.txt file included. + +#include + +#include "Common/Logging/ConsoleListener.h" + +ConsoleListener::ConsoleListener() +{ +} + +ConsoleListener::~ConsoleListener() +{ +} + +void ConsoleListener::Log(LogTypes::LOG_LEVELS level, const char *text) +{ + android_LogPriority logLevel = ANDROID_LOG_UNKNOWN; + + // Map dolphin's log levels to android's + switch(level) + { + case LogTypes::LOG_LEVELS::LDEBUG: + logLevel = ANDROID_LOG_DEBUG; + break; + case LogTypes::LOG_LEVELS::LINFO: + logLevel = ANDROID_LOG_INFO; + break; + case LogTypes::LOG_LEVELS::LWARNING: + logLevel = ANDROID_LOG_WARN; + break; + case LogTypes::LOG_LEVELS::LERROR: + logLevel = ANDROID_LOG_ERROR; + break; + case LogTypes::LOG_LEVELS::LNOTICE: + logLevel = ANDROID_LOG_INFO; + break; + } + + __android_log_write(logLevel, "Dolphinemu", text); +} diff --git a/Source/Core/Common/Logging/LogManager.cpp b/Source/Core/Common/Logging/LogManager.cpp index 5667e71133..06efc8419c 100644 --- a/Source/Core/Common/Logging/LogManager.cpp +++ b/Source/Core/Common/Logging/LogManager.cpp @@ -9,9 +9,6 @@ #include #include -#ifdef ANDROID -#include -#endif #include "Common/FileUtil.h" #include "Common/IniFile.h" #include "Common/StringUtil.h" @@ -133,9 +130,6 @@ void LogManager::Log(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type, file, line, LogTypes::LOG_LEVEL_TO_CHAR[(int)level], log->GetShortName().c_str(), temp); -#ifdef ANDROID - __android_log_write(ANDROID_LOG_INFO, "Dolphinemu", msg.c_str()); -#endif for (auto listener_id : *log) m_listeners[listener_id]->Log(level, msg.c_str());