Don't crash on timeout in renewCache() (#8986)

Fixes #8962.

withTimeout throws a TimeoutCancellationException if the timeout
expires. To avoid crashing renewalJob when there are no extensions,
use withTimeoutOrNull which does not throw on timeout.

(cherry picked from commit 3a82b4d924ae7207f7d1c1b23d2a71a1e7d09258)
This commit is contained in:
Two-Ai 2023-01-25 18:18:17 -05:00 committed by Jobobby04
parent acc3e16230
commit d08a3bd2d0

View File

@ -28,7 +28,7 @@ import kotlinx.coroutines.flow.onStart
import kotlinx.coroutines.flow.receiveAsFlow
import kotlinx.coroutines.flow.shareIn
import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.withTimeout
import kotlinx.coroutines.withTimeoutOrNull
import logcat.LogPriority
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.manga.model.Manga
@ -291,7 +291,7 @@ class DownloadCache(
var sources = getSources()
// Try to wait until extensions and sources have loaded
withTimeout(30.seconds) {
withTimeoutOrNull(30.seconds) {
while (!extensionManager.isInitialized) {
delay(2.seconds)
}