mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-09 15:27:55 -04:00
Suspended setZimReaderSource and switched to IO when creating ZimFileReader
This commit is contained in:
parent
948b8cce20
commit
9d4db58ce4
@ -18,7 +18,9 @@
|
|||||||
package org.kiwix.kiwixmobile.core.reader
|
package org.kiwix.kiwixmobile.core.reader
|
||||||
|
|
||||||
import android.webkit.WebResourceResponse
|
import android.webkit.WebResourceResponse
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
|
import kotlinx.coroutines.withContext
|
||||||
import org.kiwix.kiwixmobile.core.reader.ZimFileReader.Factory
|
import org.kiwix.kiwixmobile.core.reader.ZimFileReader.Factory
|
||||||
import java.net.HttpURLConnection
|
import java.net.HttpURLConnection
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@ -32,11 +34,11 @@ class ZimReaderContainer @Inject constructor(private val zimFileReaderFactory: F
|
|||||||
field = value
|
field = value
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setZimReaderSource(zimReaderSource: ZimReaderSource?) {
|
suspend fun setZimReaderSource(zimReaderSource: ZimReaderSource?) {
|
||||||
if (zimReaderSource == zimFileReader?.zimReaderSource) {
|
if (zimReaderSource == zimFileReader?.zimReaderSource) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
zimFileReader = runBlocking {
|
zimFileReader = withContext(Dispatchers.IO) {
|
||||||
if (zimReaderSource?.exists() == true && zimReaderSource.canOpenInLibkiwix())
|
if (zimReaderSource?.exists() == true && zimReaderSource.canOpenInLibkiwix())
|
||||||
zimFileReaderFactory.create(zimReaderSource)
|
zimFileReaderFactory.create(zimReaderSource)
|
||||||
else null
|
else null
|
||||||
|
Loading…
x
Reference in New Issue
Block a user