diff --git a/kiwix.c b/kiwix.c index ba2574b3d..5d04d0846 100644 --- a/kiwix.c +++ b/kiwix.c @@ -81,6 +81,23 @@ JNIEXPORT jstring JNICALL Java_org_kiwix_kiwixmobile_JNIKiwix_getMainPage(JNIEnv return url; } +JNIEXPORT jstring JNICALL Java_org_kiwix_kiwixmobile_JNIKiwix_getId(JNIEnv *env, jobject obj) { + jstring id; + + pthread_mutex_lock(&readerLock); + if (reader != NULL) { + try { + std::string cId = reader->getId(); + id = c2jni(cId, env); + } catch (exception &e) { + std::cerr << e.what() << std::endl; + } + } + pthread_mutex_unlock(&readerLock); + + return id; +} + JNIEXPORT jboolean JNICALL Java_org_kiwix_kiwixmobile_JNIKiwix_loadZIM(JNIEnv *env, jobject obj, jstring path) { jboolean retVal = JNI_TRUE; std::string cPath = jni2c(path, env); diff --git a/libs/armeabi/libkiwix.so b/libs/armeabi/libkiwix.so index 99daaafc5..f4b28c2c3 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 1b5436795..e2cb74413 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 747e34a5c..5d3194f25 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 034a7f05b..45a11a969 100644 --- a/src/org/kiwix/kiwixmobile/JNIKiwix.java +++ b/src/org/kiwix/kiwixmobile/JNIKiwix.java @@ -1,6 +1,7 @@ package org.kiwix.kiwixmobile; public class JNIKiwix { public native String getMainPage(); + public native String getId(); public native boolean loadZIM(String path); public native byte[] getContent(String url, JNIKiwixString mimeType, JNIKiwixInt size); public native boolean searchSuggestions(String prefix, int count); diff --git a/src/org/kiwix/kiwixmobile/ZimContentProvider.java b/src/org/kiwix/kiwixmobile/ZimContentProvider.java index 8cd89b2be..43a756371 100644 --- a/src/org/kiwix/kiwixmobile/ZimContentProvider.java +++ b/src/org/kiwix/kiwixmobile/ZimContentProvider.java @@ -66,6 +66,14 @@ public class ZimContentProvider extends ContentProvider { return jniKiwix.getMainPage(); } } + + public static String getId() { + if (jniKiwix==null || zimFileName==null) + return null; + else { + return jniKiwix.getId(); + } + } public static boolean searchSuggestions(String prefix, int count) { if (jniKiwix==null || zimFileName==null)