diff --git a/jni/NativeFormats/JavaNativeFormatPlugin.cpp b/jni/NativeFormats/JavaNativeFormatPlugin.cpp index 9a618dded..1c56aa8d4 100644 --- a/jni/NativeFormats/JavaNativeFormatPlugin.cpp +++ b/jni/NativeFormats/JavaNativeFormatPlugin.cpp @@ -83,7 +83,7 @@ static void fillMetaInfo(JNIEnv* env, jobject javaBook, Book &book) { } } -void fillLanguageAndEncoding(JNIEnv* env, jobject javaBook, Book &book) { +static void fillLanguageAndEncoding(JNIEnv* env, jobject javaBook, Book &book) { jstring javaString; javaString = AndroidUtil::createJavaString(env, book.language()); @@ -97,8 +97,6 @@ void fillLanguageAndEncoding(JNIEnv* env, jobject javaBook, Book &book) { AndroidUtil::Method_Book_setEncoding->call(javaBook, javaString); env->DeleteLocalRef(javaString); } - - AndroidUtil::Method_Book_save->call(javaBook); } extern "C" diff --git a/jni/NativeFormats/util/AndroidUtil.cpp b/jni/NativeFormats/util/AndroidUtil.cpp index 916582c12..6d39423db 100644 --- a/jni/NativeFormats/util/AndroidUtil.cpp +++ b/jni/NativeFormats/util/AndroidUtil.cpp @@ -78,8 +78,8 @@ shared_ptr AndroidUtil::Method_EncodingConverter_convert; shared_ptr AndroidUtil::Method_EncodingConverter_reset; shared_ptr AndroidUtil::StaticMethod_JavaEncodingCollection_Instance; -shared_ptr AndroidUtil::Method_JavaEncodingCollection_getEncoding_int; -shared_ptr AndroidUtil::Method_JavaEncodingCollection_getEncoding_String; +//shared_ptr AndroidUtil::Method_JavaEncodingCollection_getEncoding_int; +shared_ptr AndroidUtil::Method_JavaEncodingCollection_getEncoding; shared_ptr AndroidUtil::Method_JavaEncodingCollection_providesConverterFor; shared_ptr AndroidUtil::StaticMethod_ZLFile_createFileByPath; @@ -104,7 +104,6 @@ shared_ptr AndroidUtil::Method_Book_setLanguage; shared_ptr AndroidUtil::Method_Book_setEncoding; shared_ptr AndroidUtil::Method_Book_addAuthor; shared_ptr AndroidUtil::Method_Book_addTag; -shared_ptr AndroidUtil::Method_Book_save; shared_ptr AndroidUtil::StaticMethod_Tag_getTag; @@ -154,8 +153,8 @@ bool AndroidUtil::init(JavaVM* jvm) { Method_EncodingConverter_reset = new VoidMethod(Class_EncodingConverter, "reset", "()"); StaticMethod_JavaEncodingCollection_Instance = new StaticObjectMethod(Class_JavaEncodingCollection, "Instance", Class_JavaEncodingCollection, "()"); - Method_JavaEncodingCollection_getEncoding_String = new ObjectMethod(Class_JavaEncodingCollection, "getEncoding", Class_Encoding, "(Ljava/lang/String;)"); - Method_JavaEncodingCollection_getEncoding_int = new ObjectMethod(Class_JavaEncodingCollection, "getEncoding", Class_Encoding, "(I)"); + Method_JavaEncodingCollection_getEncoding = new ObjectMethod(Class_JavaEncodingCollection, "getEncoding", Class_Encoding, "(Ljava/lang/String;)"); + //Method_JavaEncodingCollection_getEncoding_int = new ObjectMethod(Class_JavaEncodingCollection, "getEncoding", Class_Encoding, "(I)"); Method_JavaEncodingCollection_providesConverterFor = new BooleanMethod(Class_JavaEncodingCollection, "providesConverterFor", "(Ljava/lang/String;)"); StaticMethod_ZLFile_createFileByPath = new StaticObjectMethod(Class_ZLFile, "createFileByPath", Class_ZLFile, "(Ljava/lang/String;)"); @@ -180,7 +179,6 @@ bool AndroidUtil::init(JavaVM* jvm) { Method_Book_setEncoding = new VoidMethod(Class_Book, "setEncoding", "(Ljava/lang/String;)"); Method_Book_addAuthor = new VoidMethod(Class_Book, "addAuthor", "(Ljava/lang/String;Ljava/lang/String;)"); Method_Book_addTag = new VoidMethod(Class_Book, "addTag", "(Lorg/geometerplus/fbreader/library/Tag;)"); - Method_Book_save = new BooleanMethod(Class_Book, "save", "()"); StaticMethod_Tag_getTag = new StaticObjectMethod(Class_Tag, "getTag", Class_Tag, "(Lorg/geometerplus/fbreader/library/Tag;Ljava/lang/String;)"); diff --git a/jni/NativeFormats/util/AndroidUtil.h b/jni/NativeFormats/util/AndroidUtil.h index 9e6316433..9ee984dca 100644 --- a/jni/NativeFormats/util/AndroidUtil.h +++ b/jni/NativeFormats/util/AndroidUtil.h @@ -110,8 +110,8 @@ public: static shared_ptr Method_EncodingConverter_reset; static shared_ptr StaticMethod_JavaEncodingCollection_Instance; - static shared_ptr Method_JavaEncodingCollection_getEncoding_String; - static shared_ptr Method_JavaEncodingCollection_getEncoding_int; + static shared_ptr Method_JavaEncodingCollection_getEncoding; + //static shared_ptr Method_JavaEncodingCollection_getEncoding_int; static shared_ptr Method_JavaEncodingCollection_providesConverterFor; static shared_ptr StaticMethod_Paths_cacheDirectory; @@ -126,7 +126,6 @@ public: static shared_ptr Method_Book_setEncoding; static shared_ptr Method_Book_addAuthor; static shared_ptr Method_Book_addTag; - static shared_ptr Method_Book_save; static shared_ptr StaticMethod_Tag_getTag; diff --git a/jni/NativeFormats/zlibrary/core/src/encoding/JavaEncodingConverter.cpp b/jni/NativeFormats/zlibrary/core/src/encoding/JavaEncodingConverter.cpp index 462fd7a24..a73955667 100644 --- a/jni/NativeFormats/zlibrary/core/src/encoding/JavaEncodingConverter.cpp +++ b/jni/NativeFormats/zlibrary/core/src/encoding/JavaEncodingConverter.cpp @@ -66,7 +66,7 @@ JavaEncodingConverter::JavaEncodingConverter(const std::string &encoding) { JNIEnv *env = AndroidUtil::getEnv(); jobject collection = AndroidUtil::StaticMethod_JavaEncodingCollection_Instance->call(); jstring encodingName = AndroidUtil::createJavaString(env, encoding); - jobject javaEncoding = AndroidUtil::Method_JavaEncodingCollection_getEncoding_String->call(collection, encodingName); + jobject javaEncoding = AndroidUtil::Method_JavaEncodingCollection_getEncoding->call(collection, encodingName); myJavaConverter = AndroidUtil::Method_Encoding_createConverter->call(javaEncoding); env->DeleteLocalRef(javaEncoding); env->DeleteLocalRef(encodingName); diff --git a/src/org/geometerplus/fbreader/formats/NativeFormatPlugin.java b/src/org/geometerplus/fbreader/formats/NativeFormatPlugin.java index 9092a2944..ca6b93a2e 100644 --- a/src/org/geometerplus/fbreader/formats/NativeFormatPlugin.java +++ b/src/org/geometerplus/fbreader/formats/NativeFormatPlugin.java @@ -58,6 +58,7 @@ public class NativeFormatPlugin extends FormatPlugin { @Override public void detectLanguageAndEncoding(Book book) { detectLanguageAndEncodingNative(book); + book.save(false); } public native void detectLanguageAndEncodingNative(Book book);