#1517 Make JniSearcher Nullable

This commit is contained in:
Sean Mac Gillicuddy 2019-09-26 11:00:43 +01:00
parent cca60df69f
commit 6735fbe987
2 changed files with 11 additions and 5 deletions

View File

@ -19,6 +19,7 @@ package org.kiwix.kiwixmobile.di.modules;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import dagger.Module;
import dagger.Provides;
import javax.inject.Singleton;
@ -38,7 +39,12 @@ import org.kiwix.kiwixlib.JNIKiwixSearcher;
@Provides
@Singleton
@Nullable
public JNIKiwixSearcher providesJNIKiwixSearcher() {
return new JNIKiwixSearcher();
try {
return new JNIKiwixSearcher();
} catch (UnsatisfiedLinkError ignore) {
return null;
}
}
}

View File

@ -26,7 +26,7 @@ import javax.inject.Singleton
@Singleton
class ZimReaderContainer @Inject constructor(
private val zimFileReaderFactory: ZimFileReader.Factory,
private val jniKiwixSearcher: JNIKiwixSearcher
private val jniKiwixSearcher: JNIKiwixSearcher?
) {
private val listOfAddedReaderIds = mutableListOf<String>()
var zimFileReader: ZimFileReader? = null
@ -34,7 +34,7 @@ class ZimReaderContainer @Inject constructor(
field = value
if (value != null && !listOfAddedReaderIds.contains(value.id)) {
listOfAddedReaderIds.add(value.id)
jniKiwixSearcher.addKiwixReader(value.jniKiwixReader)
jniKiwixSearcher?.addKiwixReader(value.jniKiwixReader)
}
}
@ -60,10 +60,10 @@ class ZimReaderContainer @Inject constructor(
fun getRandomArticleUrl() = zimFileReader?.getRandomArticleUrl()
fun search(query: String, count: Int) {
jniKiwixSearcher.search(query, count)
jniKiwixSearcher?.search(query, count)
}
fun getNextResult() = jniKiwixSearcher.nextResult
fun getNextResult() = jniKiwixSearcher?.nextResult
fun isRedirect(url: String): Boolean = zimFileReader?.isRedirect(url) == true
fun getRedirect(url: String): String = zimFileReader?.getRedirect(url) ?: ""