mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-03 09:49:19 +02:00
no Book.save() call in native code
This commit is contained in:
parent
bc3976f5f6
commit
38c4ad935d
5 changed files with 9 additions and 13 deletions
|
@ -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"
|
||||
|
|
|
@ -78,8 +78,8 @@ shared_ptr<IntMethod> AndroidUtil::Method_EncodingConverter_convert;
|
|||
shared_ptr<VoidMethod> AndroidUtil::Method_EncodingConverter_reset;
|
||||
|
||||
shared_ptr<StaticObjectMethod> AndroidUtil::StaticMethod_JavaEncodingCollection_Instance;
|
||||
shared_ptr<ObjectMethod> AndroidUtil::Method_JavaEncodingCollection_getEncoding_int;
|
||||
shared_ptr<ObjectMethod> AndroidUtil::Method_JavaEncodingCollection_getEncoding_String;
|
||||
//shared_ptr<ObjectMethod> AndroidUtil::Method_JavaEncodingCollection_getEncoding_int;
|
||||
shared_ptr<ObjectMethod> AndroidUtil::Method_JavaEncodingCollection_getEncoding;
|
||||
shared_ptr<BooleanMethod> AndroidUtil::Method_JavaEncodingCollection_providesConverterFor;
|
||||
|
||||
shared_ptr<StaticObjectMethod> AndroidUtil::StaticMethod_ZLFile_createFileByPath;
|
||||
|
@ -104,7 +104,6 @@ shared_ptr<VoidMethod> AndroidUtil::Method_Book_setLanguage;
|
|||
shared_ptr<VoidMethod> AndroidUtil::Method_Book_setEncoding;
|
||||
shared_ptr<VoidMethod> AndroidUtil::Method_Book_addAuthor;
|
||||
shared_ptr<VoidMethod> AndroidUtil::Method_Book_addTag;
|
||||
shared_ptr<BooleanMethod> AndroidUtil::Method_Book_save;
|
||||
|
||||
shared_ptr<StaticObjectMethod> 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;)");
|
||||
|
||||
|
|
|
@ -110,8 +110,8 @@ public:
|
|||
static shared_ptr<VoidMethod> Method_EncodingConverter_reset;
|
||||
|
||||
static shared_ptr<StaticObjectMethod> StaticMethod_JavaEncodingCollection_Instance;
|
||||
static shared_ptr<ObjectMethod> Method_JavaEncodingCollection_getEncoding_String;
|
||||
static shared_ptr<ObjectMethod> Method_JavaEncodingCollection_getEncoding_int;
|
||||
static shared_ptr<ObjectMethod> Method_JavaEncodingCollection_getEncoding;
|
||||
//static shared_ptr<ObjectMethod> Method_JavaEncodingCollection_getEncoding_int;
|
||||
static shared_ptr<BooleanMethod> Method_JavaEncodingCollection_providesConverterFor;
|
||||
|
||||
static shared_ptr<StaticObjectMethod> StaticMethod_Paths_cacheDirectory;
|
||||
|
@ -126,7 +126,6 @@ public:
|
|||
static shared_ptr<VoidMethod> Method_Book_setEncoding;
|
||||
static shared_ptr<VoidMethod> Method_Book_addAuthor;
|
||||
static shared_ptr<VoidMethod> Method_Book_addTag;
|
||||
static shared_ptr<BooleanMethod> Method_Book_save;
|
||||
|
||||
static shared_ptr<StaticObjectMethod> StaticMethod_Tag_getTag;
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue