diff --git a/jni/NativeFormats/util/AndroidUtil.cpp b/jni/NativeFormats/util/AndroidUtil.cpp index 7438e57c0..f11607bbb 100644 --- a/jni/NativeFormats/util/AndroidUtil.cpp +++ b/jni/NativeFormats/util/AndroidUtil.cpp @@ -38,6 +38,7 @@ JavaClass AndroidUtil::Class_ZLibrary("org/geometerplus/zlibrary/core/library/ZL JavaClass AndroidUtil::Class_ZLFile("org/geometerplus/zlibrary/core/filesystem/ZLFile"); JavaClass AndroidUtil::Class_ZLFileImage("org/geometerplus/zlibrary/core/image/ZLFileImage"); JavaClass AndroidUtil::Class_ZLTextModel("org/geometerplus/zlibrary/text/model/ZLTextModel"); +JavaClass AndroidUtil::Class_CachedCharStorageException("org/geometerplus/zlibrary/text/model/CachedCharStorageException"); JavaClass AndroidUtil::Class_Encoding("org/geometerplus/zlibrary/core/encodings/Encoding"); JavaClass AndroidUtil::Class_EncodingConverter("org/geometerplus/zlibrary/core/encodings/EncodingConverter"); @@ -273,8 +274,14 @@ jbyteArray AndroidUtil::createJavaByteArray(JNIEnv *env, const std::vectorThrowNew(Class_java_lang_RuntimeException.j(), message.c_str()); +void AndroidUtil::throwRuntimeException(const std::string &message) { + JNIEnv *env = getEnv(); + getEnv()->ThrowNew((jclass)env->NewLocalRef(Class_java_lang_RuntimeException.j()), message.c_str()); +} + +void AndroidUtil::throwCachedCharStorageException(const std::string &message) { + JNIEnv *env = getEnv(); + getEnv()->ThrowNew((jclass)env->NewLocalRef(Class_CachedCharStorageException.j()), message.c_str()); } /* diff --git a/jni/NativeFormats/util/AndroidUtil.h b/jni/NativeFormats/util/AndroidUtil.h index 5d7100e4b..818df978a 100644 --- a/jni/NativeFormats/util/AndroidUtil.h +++ b/jni/NativeFormats/util/AndroidUtil.h @@ -61,6 +61,7 @@ public: static JavaClass Class_ZLFile; static JavaClass Class_ZLFileImage; static JavaClass Class_ZLTextModel; + static JavaClass Class_CachedCharStorageException; static JavaClass Class_NativeFormatPlugin; static JavaClass Class_PluginCollection; static JavaClass Class_Encoding; @@ -153,7 +154,8 @@ public: static jintArray createJavaIntArray(JNIEnv *env, const std::vector &data); static jbyteArray createJavaByteArray(JNIEnv *env, const std::vector &data); - static void throwRuntimeException(JNIEnv *env, const std::string &message); + static void throwRuntimeException(const std::string &message); + static void throwCachedCharStorageException(const std::string &message); //static void throwBookReadingException(const std::string &resourceId, const ZLFile &file); };