From 0de42b665435e077c2982f2e8270df90e8918a8e Mon Sep 17 00:00:00 2001 From: arkon Date: Tue, 12 May 2020 09:11:52 -0400 Subject: [PATCH] Don't throw exception to stop restore job (cherry picked from commit e4ea5d03444255237ecde4be7c0bbbac5ca108c2) --- .../kanade/tachiyomi/data/backup/BackupRestoreService.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestoreService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestoreService.kt index d000b0c5b..5852a9e71 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestoreService.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestoreService.kt @@ -185,7 +185,9 @@ class BackupRestoreService : Service() { stopSelf(startId) } job = GlobalScope.launch(handler) { - restoreBackup(uri) + if (!restoreBackup(uri)) { + notifier.showRestoreError(getString(R.string.restoring_backup_canceled)) + } } job?.invokeOnCompletion { stopSelf(startId) @@ -199,7 +201,7 @@ class BackupRestoreService : Service() { * * @param uri backup file to restore */ - private fun restoreBackup(uri: Uri) { + private fun restoreBackup(uri: Uri): Boolean { val startTime = System.currentTimeMillis() val reader = JsonReader(contentResolver.openInputStream(uri)!!.bufferedReader()) @@ -236,7 +238,7 @@ class BackupRestoreService : Service() { // Restore individual manga mangasJson.forEach { if (job?.isActive != true) { - throw Exception(getString(R.string.restoring_backup_canceled)) + return false } restoreManga(it.asJsonObject) @@ -248,6 +250,7 @@ class BackupRestoreService : Service() { val logFile = writeErrorLog() notifier.showRestoreComplete(time, errors.size, logFile.parent, logFile.name) + return true } private fun restoreCategories(categoriesJson: JsonElement) {