From 9d4db58ce45a005e95ee9749e2f2ef39f54e51e3 Mon Sep 17 00:00:00 2001 From: MohitMaliFtechiz Date: Sat, 18 Jan 2025 15:58:15 +0530 Subject: [PATCH] Suspended setZimReaderSource and switched to IO when creating ZimFileReader --- .../org/kiwix/kiwixmobile/core/reader/ZimReaderContainer.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/reader/ZimReaderContainer.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/reader/ZimReaderContainer.kt index 88e43562a..20bab8cfc 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/reader/ZimReaderContainer.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/reader/ZimReaderContainer.kt @@ -18,7 +18,9 @@ package org.kiwix.kiwixmobile.core.reader import android.webkit.WebResourceResponse +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.withContext import org.kiwix.kiwixmobile.core.reader.ZimFileReader.Factory import java.net.HttpURLConnection import javax.inject.Inject @@ -32,11 +34,11 @@ class ZimReaderContainer @Inject constructor(private val zimFileReaderFactory: F field = value } - fun setZimReaderSource(zimReaderSource: ZimReaderSource?) { + suspend fun setZimReaderSource(zimReaderSource: ZimReaderSource?) { if (zimReaderSource == zimFileReader?.zimReaderSource) { return } - zimFileReader = runBlocking { + zimFileReader = withContext(Dispatchers.IO) { if (zimReaderSource?.exists() == true && zimReaderSource.canOpenInLibkiwix()) zimFileReaderFactory.create(zimReaderSource) else null