mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-04 02:09:35 +02:00
standard android logging method
This commit is contained in:
parent
01799d5f22
commit
2449325867
4 changed files with 5 additions and 31 deletions
|
@ -33,7 +33,7 @@ SHAREDIR_MACRO := nativeShare
|
|||
|
||||
LOCAL_MODULE := NativeFormats-v1
|
||||
LOCAL_CFLAGS := -Wall -DBASEDIR=\"$(SHAREDIR_MACRO)\"
|
||||
LOCAL_LDLIBS := -lz
|
||||
LOCAL_LDLIBS := -lz -llog
|
||||
LOCAL_STATIC_LIBRARIES := expat
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
|
||||
JavaVM *AndroidUtil::ourJavaVM = 0;
|
||||
|
||||
const char * const AndroidUtil::Class_java_lang_System = "java/lang/System";
|
||||
const char * const AndroidUtil::Class_java_lang_String = "java/lang/String";
|
||||
const char * const AndroidUtil::Class_java_util_Collection = "java/util/Collection";
|
||||
const char * const AndroidUtil::Class_java_util_Locale = "java/util/Locale";
|
||||
|
@ -36,8 +35,6 @@ const char * const AndroidUtil::Class_Book = "org/geometerplus/fbreader/library/
|
|||
const char * const AndroidUtil::Class_Tag = "org/geometerplus/fbreader/library/Tag";
|
||||
const char * const AndroidUtil::Class_NativeBookModel = "org/geometerplus/fbreader/bookmodel/NativeBookModel";
|
||||
|
||||
jobject AndroidUtil::OBJECT_java_lang_System_err;
|
||||
|
||||
jmethodID AndroidUtil::MID_java_lang_String_toLowerCase;
|
||||
jmethodID AndroidUtil::MID_java_lang_String_toUpperCase;
|
||||
|
||||
|
@ -105,12 +102,6 @@ bool AndroidUtil::init(JavaVM* jvm) {
|
|||
JNIEnv *env = getEnv();
|
||||
jclass cls;
|
||||
|
||||
CHECK_NULL( cls = env->FindClass(Class_java_lang_System) );
|
||||
jfieldID field;
|
||||
CHECK_NULL( field = env->GetStaticFieldID(cls, "err", "Ljava/io/PrintStream;") );
|
||||
CHECK_NULL( OBJECT_java_lang_System_err = env->GetStaticObjectField(cls, field) );
|
||||
env->DeleteLocalRef(cls);
|
||||
|
||||
CHECK_NULL( cls = env->FindClass(Class_java_lang_String) );
|
||||
CHECK_NULL( MID_java_lang_String_toLowerCase = env->GetMethodID(cls, "toLowerCase", "()Ljava/lang/String;") );
|
||||
CHECK_NULL( MID_java_lang_String_toUpperCase = env->GetMethodID(cls, "toUpperCase", "()Ljava/lang/String;") );
|
||||
|
|
|
@ -31,7 +31,6 @@ private:
|
|||
static JavaVM *ourJavaVM;
|
||||
|
||||
public:
|
||||
static const char * const Class_java_lang_System;
|
||||
static const char * const Class_java_lang_String;
|
||||
static const char * const Class_java_util_Collection;
|
||||
static const char * const Class_java_util_Locale;
|
||||
|
@ -46,8 +45,6 @@ public:
|
|||
static const char * const Class_Tag;
|
||||
static const char * const Class_NativeBookModel;
|
||||
|
||||
static jobject OBJECT_java_lang_System_err;
|
||||
|
||||
static jmethodID MID_java_lang_String_toLowerCase;
|
||||
static jmethodID MID_java_lang_String_toUpperCase;
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <AndroidUtil.h>
|
||||
#include <android/log.h>
|
||||
|
||||
#include "ZLLogger.h"
|
||||
|
||||
|
@ -25,17 +25,6 @@ const std::string ZLLogger::DEFAULT_CLASS;
|
|||
|
||||
ZLLogger *ZLLogger::ourInstance = 0;
|
||||
|
||||
static void printInternal(const std::string &message) {
|
||||
JNIEnv *env = AndroidUtil::getEnv();
|
||||
jstring javaMessage = AndroidUtil::createJavaString(env, message);
|
||||
env->CallVoidMethod(
|
||||
AndroidUtil::OBJECT_java_lang_System_err,
|
||||
AndroidUtil::MID_java_io_PrintStream_println,
|
||||
javaMessage
|
||||
);
|
||||
env->DeleteLocalRef(javaMessage);
|
||||
}
|
||||
|
||||
ZLLogger &ZLLogger::Instance() {
|
||||
if (ourInstance == 0) {
|
||||
ourInstance = new ZLLogger();
|
||||
|
@ -52,13 +41,10 @@ void ZLLogger::registerClass(const std::string &className) {
|
|||
|
||||
void ZLLogger::print(const std::string &className, const std::string &message) const {
|
||||
if (className == DEFAULT_CLASS) {
|
||||
printInternal(message);
|
||||
__android_log_print(ANDROID_LOG_WARN, "ZLLogger", message.c_str());
|
||||
} else {
|
||||
std::set<std::string>::const_iterator it =
|
||||
myRegisteredClasses.find(className);
|
||||
|
||||
if (it != myRegisteredClasses.end()) {
|
||||
printInternal(className + ": " + message);
|
||||
if (myRegisteredClasses.find(className) != myRegisteredClasses.end()) {
|
||||
__android_log_print(ANDROID_LOG_WARN, className.c_str(), message.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue