diff --git a/kiwix.c b/kiwix.c index b84adc039..999d21e78 100644 --- a/kiwix.c +++ b/kiwix.c @@ -99,6 +99,23 @@ JNIEXPORT jstring JNICALL Java_org_kiwix_kiwixmobile_JNIKiwix_getId(JNIEnv *env, return id; } +JNIEXPORT jstring JNICALL Java_org_kiwix_kiwixmobile_JNIKiwix_getLanguage(JNIEnv *env, jobject obj) { + jstring language; + + pthread_mutex_lock(&readerLock); + if (reader != NULL) { + try { + std::string cLanguage = reader->getLanguage(); + language = c2jni(cLanguage, env); + } catch (exception &e) { + std::cerr << e.what() << std::endl; + } + } + pthread_mutex_unlock(&readerLock); + + return language; +} + JNIEXPORT jstring JNICALL Java_org_kiwix_kiwixmobile_JNIKiwix_getMimeType(JNIEnv *env, jobject obj, jstring url) { jstring mimeType; diff --git a/libs/armeabi/libkiwix.so b/libs/armeabi/libkiwix.so index 13d24d99f..7391b8f7d 100755 Binary files a/libs/armeabi/libkiwix.so and b/libs/armeabi/libkiwix.so differ diff --git a/libs/mips/libkiwix.so b/libs/mips/libkiwix.so index 9fcaa0f05..3f646963d 100755 Binary files a/libs/mips/libkiwix.so and b/libs/mips/libkiwix.so differ diff --git a/libs/x86/libkiwix.so b/libs/x86/libkiwix.so index 2f2d4f183..9d4e95925 100755 Binary files a/libs/x86/libkiwix.so and b/libs/x86/libkiwix.so differ diff --git a/src/org/kiwix/kiwixmobile/JNIKiwix.java b/src/org/kiwix/kiwixmobile/JNIKiwix.java index 4bc45edd1..f3a4aa9d1 100644 --- a/src/org/kiwix/kiwixmobile/JNIKiwix.java +++ b/src/org/kiwix/kiwixmobile/JNIKiwix.java @@ -22,6 +22,7 @@ package org.kiwix.kiwixmobile; public class JNIKiwix { public native String getMainPage(); public native String getId(); + public native String getLanguage(); public native String getMimeType(String url); public native boolean loadZIM(String path); public native byte[] getContent(String url, JNIKiwixString mimeType, JNIKiwixInt size); @@ -30,7 +31,6 @@ public class JNIKiwix { public native boolean getPageUrlFromTitle(String title, JNIKiwixString url); public native boolean getTitle(JNIKiwixString title); public native boolean getDescription(JNIKiwixString title); - public native boolean getLanguage(JNIKiwixString language); public native boolean getDate(JNIKiwixString language); public native boolean getFavicon(JNIKiwixString content, JNIKiwixString mimeType); public native boolean getCreator(JNIKiwixString creator); diff --git a/src/org/kiwix/kiwixmobile/ZimContentProvider.java b/src/org/kiwix/kiwixmobile/ZimContentProvider.java index cf587337a..eb27acf85 100644 --- a/src/org/kiwix/kiwixmobile/ZimContentProvider.java +++ b/src/org/kiwix/kiwixmobile/ZimContentProvider.java @@ -92,6 +92,14 @@ public class ZimContentProvider extends ContentProvider { } } + public static String getLanguage() { + if (jniKiwix == null || zimFileName == null) { + return null; + } else { + return jniKiwix.getLanguage(); + } + } + public static boolean searchSuggestions(String prefix, int count) { if (jniKiwix == null || zimFileName == null) { return false;