From 262e26a0cc1c957beaaafcd7fc937a799e9e7c4b Mon Sep 17 00:00:00 2001 From: Koitharu Date: Fri, 28 Apr 2023 16:47:28 +0300 Subject: [PATCH] Fix crashes --- .../core/exceptions/CloudFlareProtectedException.kt | 2 +- .../kotatsu/core/exceptions/WrongPasswordException.kt | 2 +- .../kotatsu/details/service/MangaPrefetchService.kt | 8 +++++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/koitharu/kotatsu/core/exceptions/CloudFlareProtectedException.kt b/app/src/main/java/org/koitharu/kotatsu/core/exceptions/CloudFlareProtectedException.kt index ee6163e25..100c0d0f5 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/exceptions/CloudFlareProtectedException.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/exceptions/CloudFlareProtectedException.kt @@ -5,5 +5,5 @@ import okio.IOException class CloudFlareProtectedException( val url: String, - val headers: Headers, + @Transient val headers: Headers, ) : IOException("Protected by CloudFlare") diff --git a/app/src/main/java/org/koitharu/kotatsu/core/exceptions/WrongPasswordException.kt b/app/src/main/java/org/koitharu/kotatsu/core/exceptions/WrongPasswordException.kt index 691a39640..3631b6106 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/exceptions/WrongPasswordException.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/exceptions/WrongPasswordException.kt @@ -1,3 +1,3 @@ package org.koitharu.kotatsu.core.exceptions -class WrongPasswordException : SecurityException() \ No newline at end of file +class WrongPasswordException : IllegalArgumentException() diff --git a/app/src/main/java/org/koitharu/kotatsu/details/service/MangaPrefetchService.kt b/app/src/main/java/org/koitharu/kotatsu/details/service/MangaPrefetchService.kt index adeeea983..993894bfd 100644 --- a/app/src/main/java/org/koitharu/kotatsu/details/service/MangaPrefetchService.kt +++ b/app/src/main/java/org/koitharu/kotatsu/details/service/MangaPrefetchService.kt @@ -14,6 +14,7 @@ import org.koitharu.kotatsu.parsers.model.Manga import org.koitharu.kotatsu.parsers.model.MangaChapter import org.koitharu.kotatsu.parsers.model.MangaSource import org.koitharu.kotatsu.utils.ext.getParcelableExtraCompat +import org.koitharu.kotatsu.utils.ext.printStackTraceDebug import org.koitharu.kotatsu.utils.ext.runCatchingCancellable import javax.inject.Inject @@ -95,7 +96,12 @@ class MangaPrefetchService : CoroutineIntentService() { val intent = Intent(context, MangaPrefetchService::class.java) intent.action = ACTION_PREFETCH_PAGES intent.putExtra(EXTRA_CHAPTER, ParcelableMangaChapters(listOf(chapter))) - context.startService(intent) + try { + context.startService(intent) + } catch (e: IllegalStateException) { + // probably app is in background + e.printStackTraceDebug() + } } fun prefetchLast(context: Context) {