Fix error handling in CoroutineIntentService

This commit is contained in:
2023-01-04 14:39:36 +02:00
parent 571b85dfd8
commit f115031846
2 changed files with 9 additions and 3 deletions

View File

@@ -31,6 +31,9 @@ abstract class CoroutineIntentService : BaseService() {
processIntent(startId, intent) processIntent(startId, intent)
} }
} }
} catch (e: Throwable) {
e.printStackTraceDebug()
onError(startId, e)
} finally { } finally {
stopSelf(startId) stopSelf(startId)
} }

View File

@@ -52,10 +52,13 @@ class ZipOutput(
return if (entryNames.add(entry.name)) { return if (entryNames.add(entry.name)) {
val zipEntry = ZipEntry(entry.name) val zipEntry = ZipEntry(entry.name)
output.putNextEntry(zipEntry) output.putNextEntry(zipEntry)
other.getInputStream(entry).use { input -> try {
input.copyTo(output) other.getInputStream(entry).use { input ->
input.copyTo(output)
}
} finally {
output.closeEntry()
} }
output.closeEntry()
true true
} else { } else {
false false