From f115031846179ed8aa5cf43cc1f8d216a8835a91 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Wed, 4 Jan 2023 14:39:36 +0200 Subject: [PATCH] Fix error handling in CoroutineIntentService --- .../koitharu/kotatsu/base/ui/CoroutineIntentService.kt | 3 +++ .../main/java/org/koitharu/kotatsu/core/zip/ZipOutput.kt | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/koitharu/kotatsu/base/ui/CoroutineIntentService.kt b/app/src/main/java/org/koitharu/kotatsu/base/ui/CoroutineIntentService.kt index 32c9c2904..e7b6fc6db 100644 --- a/app/src/main/java/org/koitharu/kotatsu/base/ui/CoroutineIntentService.kt +++ b/app/src/main/java/org/koitharu/kotatsu/base/ui/CoroutineIntentService.kt @@ -31,6 +31,9 @@ abstract class CoroutineIntentService : BaseService() { processIntent(startId, intent) } } + } catch (e: Throwable) { + e.printStackTraceDebug() + onError(startId, e) } finally { stopSelf(startId) } diff --git a/app/src/main/java/org/koitharu/kotatsu/core/zip/ZipOutput.kt b/app/src/main/java/org/koitharu/kotatsu/core/zip/ZipOutput.kt index 4a3dd8ed5..fd38f1c04 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/zip/ZipOutput.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/zip/ZipOutput.kt @@ -52,10 +52,13 @@ class ZipOutput( return if (entryNames.add(entry.name)) { val zipEntry = ZipEntry(entry.name) output.putNextEntry(zipEntry) - other.getInputStream(entry).use { input -> - input.copyTo(output) + try { + other.getInputStream(entry).use { input -> + input.copyTo(output) + } + } finally { + output.closeEntry() } - output.closeEntry() true } else { false