diff --git a/jni/NativeFormats/fbreader/src/library/Book.cpp b/jni/NativeFormats/fbreader/src/library/Book.cpp index b0a19a610..750d6ccfb 100644 --- a/jni/NativeFormats/fbreader/src/library/Book.cpp +++ b/jni/NativeFormats/fbreader/src/library/Book.cpp @@ -86,10 +86,7 @@ shared_ptr Book::loadFromFile(const ZLFile &file) { */ shared_ptr Book::loadFromJavaBook(JNIEnv *env, jobject javaBook) { - jobject javaFile = AndroidUtil::Field_Book_File->value(javaBook); - const std::string path = AndroidUtil::Method_ZLFile_getPath->callForCppString(javaFile); - env->DeleteLocalRef(javaFile); - + const std::string path = AndroidUtil::Method_Book_getPath->callForCppString(javaBook); const std::string title = AndroidUtil::Method_Book_getTitle->callForCppString(javaBook); const std::string language = AndroidUtil::Method_Book_getLanguage->callForCppString(javaBook); const std::string encoding = AndroidUtil::Method_Book_getEncodingNoDetection->callForCppString(javaBook); diff --git a/jni/NativeFormats/util/AndroidUtil.cpp b/jni/NativeFormats/util/AndroidUtil.cpp index a8954c6b6..c9dfd304b 100644 --- a/jni/NativeFormats/util/AndroidUtil.cpp +++ b/jni/NativeFormats/util/AndroidUtil.cpp @@ -104,7 +104,7 @@ shared_ptr AndroidUtil::Constructor_ZLFileImage; shared_ptr AndroidUtil::StaticMethod_Paths_tempDirectory; -shared_ptr AndroidUtil::Field_Book_File; +shared_ptr AndroidUtil::Method_Book_getPath; shared_ptr AndroidUtil::Method_Book_getTitle; shared_ptr AndroidUtil::Method_Book_getLanguage; shared_ptr AndroidUtil::Method_Book_getEncodingNoDetection; @@ -187,7 +187,7 @@ bool AndroidUtil::init(JavaVM* jvm) { StaticMethod_Paths_tempDirectory = new StaticObjectMethod(Class_Paths, "tempDirectory", Class_java_lang_String, "()"); - Field_Book_File = new ObjectField(Class_AbstractBook, "File", Class_ZLFile); + Method_Book_getPath = new StringMethod(Class_AbstractBook, "getPath", "()"); Method_Book_getTitle = new StringMethod(Class_AbstractBook, "getTitle", "()"); Method_Book_getLanguage = new StringMethod(Class_AbstractBook, "getLanguage", "()"); Method_Book_getEncodingNoDetection = new StringMethod(Class_AbstractBook, "getEncodingNoDetection", "()"); diff --git a/jni/NativeFormats/util/AndroidUtil.h b/jni/NativeFormats/util/AndroidUtil.h index 9fe0fd6ae..e11ce86f0 100644 --- a/jni/NativeFormats/util/AndroidUtil.h +++ b/jni/NativeFormats/util/AndroidUtil.h @@ -142,7 +142,7 @@ public: static shared_ptr StaticMethod_Paths_tempDirectory; - static shared_ptr Field_Book_File; + static shared_ptr Method_Book_getPath; static shared_ptr Method_Book_getTitle; static shared_ptr Method_Book_getLanguage; static shared_ptr Method_Book_getEncodingNoDetection;