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;
|
jstring javaString;
|
||||||
|
|
||||||
javaString = AndroidUtil::createJavaString(env, book.language());
|
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);
|
AndroidUtil::Method_Book_setEncoding->call(javaBook, javaString);
|
||||||
env->DeleteLocalRef(javaString);
|
env->DeleteLocalRef(javaString);
|
||||||
}
|
}
|
||||||
|
|
||||||
AndroidUtil::Method_Book_save->call(javaBook);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
|
|
|
@ -78,8 +78,8 @@ shared_ptr<IntMethod> AndroidUtil::Method_EncodingConverter_convert;
|
||||||
shared_ptr<VoidMethod> AndroidUtil::Method_EncodingConverter_reset;
|
shared_ptr<VoidMethod> AndroidUtil::Method_EncodingConverter_reset;
|
||||||
|
|
||||||
shared_ptr<StaticObjectMethod> AndroidUtil::StaticMethod_JavaEncodingCollection_Instance;
|
shared_ptr<StaticObjectMethod> AndroidUtil::StaticMethod_JavaEncodingCollection_Instance;
|
||||||
shared_ptr<ObjectMethod> AndroidUtil::Method_JavaEncodingCollection_getEncoding_int;
|
//shared_ptr<ObjectMethod> AndroidUtil::Method_JavaEncodingCollection_getEncoding_int;
|
||||||
shared_ptr<ObjectMethod> AndroidUtil::Method_JavaEncodingCollection_getEncoding_String;
|
shared_ptr<ObjectMethod> AndroidUtil::Method_JavaEncodingCollection_getEncoding;
|
||||||
shared_ptr<BooleanMethod> AndroidUtil::Method_JavaEncodingCollection_providesConverterFor;
|
shared_ptr<BooleanMethod> AndroidUtil::Method_JavaEncodingCollection_providesConverterFor;
|
||||||
|
|
||||||
shared_ptr<StaticObjectMethod> AndroidUtil::StaticMethod_ZLFile_createFileByPath;
|
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_setEncoding;
|
||||||
shared_ptr<VoidMethod> AndroidUtil::Method_Book_addAuthor;
|
shared_ptr<VoidMethod> AndroidUtil::Method_Book_addAuthor;
|
||||||
shared_ptr<VoidMethod> AndroidUtil::Method_Book_addTag;
|
shared_ptr<VoidMethod> AndroidUtil::Method_Book_addTag;
|
||||||
shared_ptr<BooleanMethod> AndroidUtil::Method_Book_save;
|
|
||||||
|
|
||||||
shared_ptr<StaticObjectMethod> AndroidUtil::StaticMethod_Tag_getTag;
|
shared_ptr<StaticObjectMethod> AndroidUtil::StaticMethod_Tag_getTag;
|
||||||
|
|
||||||
|
@ -154,8 +153,8 @@ bool AndroidUtil::init(JavaVM* jvm) {
|
||||||
Method_EncodingConverter_reset = new VoidMethod(Class_EncodingConverter, "reset", "()");
|
Method_EncodingConverter_reset = new VoidMethod(Class_EncodingConverter, "reset", "()");
|
||||||
|
|
||||||
StaticMethod_JavaEncodingCollection_Instance = new StaticObjectMethod(Class_JavaEncodingCollection, "Instance", Class_JavaEncodingCollection, "()");
|
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 = 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_int = new ObjectMethod(Class_JavaEncodingCollection, "getEncoding", Class_Encoding, "(I)");
|
||||||
Method_JavaEncodingCollection_providesConverterFor = new BooleanMethod(Class_JavaEncodingCollection, "providesConverterFor", "(Ljava/lang/String;)");
|
Method_JavaEncodingCollection_providesConverterFor = new BooleanMethod(Class_JavaEncodingCollection, "providesConverterFor", "(Ljava/lang/String;)");
|
||||||
|
|
||||||
StaticMethod_ZLFile_createFileByPath = new StaticObjectMethod(Class_ZLFile, "createFileByPath", Class_ZLFile, "(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_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_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_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;)");
|
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<VoidMethod> Method_EncodingConverter_reset;
|
||||||
|
|
||||||
static shared_ptr<StaticObjectMethod> StaticMethod_JavaEncodingCollection_Instance;
|
static shared_ptr<StaticObjectMethod> StaticMethod_JavaEncodingCollection_Instance;
|
||||||
static shared_ptr<ObjectMethod> Method_JavaEncodingCollection_getEncoding_String;
|
static shared_ptr<ObjectMethod> Method_JavaEncodingCollection_getEncoding;
|
||||||
static shared_ptr<ObjectMethod> Method_JavaEncodingCollection_getEncoding_int;
|
//static shared_ptr<ObjectMethod> Method_JavaEncodingCollection_getEncoding_int;
|
||||||
static shared_ptr<BooleanMethod> Method_JavaEncodingCollection_providesConverterFor;
|
static shared_ptr<BooleanMethod> Method_JavaEncodingCollection_providesConverterFor;
|
||||||
|
|
||||||
static shared_ptr<StaticObjectMethod> StaticMethod_Paths_cacheDirectory;
|
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_setEncoding;
|
||||||
static shared_ptr<VoidMethod> Method_Book_addAuthor;
|
static shared_ptr<VoidMethod> Method_Book_addAuthor;
|
||||||
static shared_ptr<VoidMethod> Method_Book_addTag;
|
static shared_ptr<VoidMethod> Method_Book_addTag;
|
||||||
static shared_ptr<BooleanMethod> Method_Book_save;
|
|
||||||
|
|
||||||
static shared_ptr<StaticObjectMethod> StaticMethod_Tag_getTag;
|
static shared_ptr<StaticObjectMethod> StaticMethod_Tag_getTag;
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ JavaEncodingConverter::JavaEncodingConverter(const std::string &encoding) {
|
||||||
JNIEnv *env = AndroidUtil::getEnv();
|
JNIEnv *env = AndroidUtil::getEnv();
|
||||||
jobject collection = AndroidUtil::StaticMethod_JavaEncodingCollection_Instance->call();
|
jobject collection = AndroidUtil::StaticMethod_JavaEncodingCollection_Instance->call();
|
||||||
jstring encodingName = AndroidUtil::createJavaString(env, encoding);
|
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);
|
myJavaConverter = AndroidUtil::Method_Encoding_createConverter->call(javaEncoding);
|
||||||
env->DeleteLocalRef(javaEncoding);
|
env->DeleteLocalRef(javaEncoding);
|
||||||
env->DeleteLocalRef(encodingName);
|
env->DeleteLocalRef(encodingName);
|
||||||
|
|
|
@ -58,6 +58,7 @@ public class NativeFormatPlugin extends FormatPlugin {
|
||||||
@Override
|
@Override
|
||||||
public void detectLanguageAndEncoding(Book book) {
|
public void detectLanguageAndEncoding(Book book) {
|
||||||
detectLanguageAndEncodingNative(book);
|
detectLanguageAndEncodingNative(book);
|
||||||
|
book.save(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public native void detectLanguageAndEncodingNative(Book book);
|
public native void detectLanguageAndEncodingNative(Book book);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue