mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-08-03 18:56:44 -04:00
#1517 Make JniSearcher Nullable
This commit is contained in:
parent
cca60df69f
commit
6735fbe987
@ -19,6 +19,7 @@ package org.kiwix.kiwixmobile.di.modules;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
@ -38,7 +39,12 @@ import org.kiwix.kiwixlib.JNIKiwixSearcher;
|
|||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
|
@Nullable
|
||||||
public JNIKiwixSearcher providesJNIKiwixSearcher() {
|
public JNIKiwixSearcher providesJNIKiwixSearcher() {
|
||||||
|
try {
|
||||||
return new JNIKiwixSearcher();
|
return new JNIKiwixSearcher();
|
||||||
|
} catch (UnsatisfiedLinkError ignore) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ import javax.inject.Singleton
|
|||||||
@Singleton
|
@Singleton
|
||||||
class ZimReaderContainer @Inject constructor(
|
class ZimReaderContainer @Inject constructor(
|
||||||
private val zimFileReaderFactory: ZimFileReader.Factory,
|
private val zimFileReaderFactory: ZimFileReader.Factory,
|
||||||
private val jniKiwixSearcher: JNIKiwixSearcher
|
private val jniKiwixSearcher: JNIKiwixSearcher?
|
||||||
) {
|
) {
|
||||||
private val listOfAddedReaderIds = mutableListOf<String>()
|
private val listOfAddedReaderIds = mutableListOf<String>()
|
||||||
var zimFileReader: ZimFileReader? = null
|
var zimFileReader: ZimFileReader? = null
|
||||||
@ -34,7 +34,7 @@ class ZimReaderContainer @Inject constructor(
|
|||||||
field = value
|
field = value
|
||||||
if (value != null && !listOfAddedReaderIds.contains(value.id)) {
|
if (value != null && !listOfAddedReaderIds.contains(value.id)) {
|
||||||
listOfAddedReaderIds.add(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 getRandomArticleUrl() = zimFileReader?.getRandomArticleUrl()
|
||||||
fun search(query: String, count: Int) {
|
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 isRedirect(url: String): Boolean = zimFileReader?.isRedirect(url) == true
|
||||||
fun getRedirect(url: String): String = zimFileReader?.getRedirect(url) ?: ""
|
fun getRedirect(url: String): String = zimFileReader?.getRedirect(url) ?: ""
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user