Don't throw exception to stop restore job

(cherry picked from commit e4ea5d0344)
This commit is contained in:
arkon
2020-05-12 09:11:52 -04:00
committed by Jobobby04
parent d7aa1144cf
commit 0de42b6654

View File

@ -185,7 +185,9 @@ class BackupRestoreService : Service() {
stopSelf(startId) stopSelf(startId)
} }
job = GlobalScope.launch(handler) { job = GlobalScope.launch(handler) {
restoreBackup(uri) if (!restoreBackup(uri)) {
notifier.showRestoreError(getString(R.string.restoring_backup_canceled))
}
} }
job?.invokeOnCompletion { job?.invokeOnCompletion {
stopSelf(startId) stopSelf(startId)
@ -199,7 +201,7 @@ class BackupRestoreService : Service() {
* *
* @param uri backup file to restore * @param uri backup file to restore
*/ */
private fun restoreBackup(uri: Uri) { private fun restoreBackup(uri: Uri): Boolean {
val startTime = System.currentTimeMillis() val startTime = System.currentTimeMillis()
val reader = JsonReader(contentResolver.openInputStream(uri)!!.bufferedReader()) val reader = JsonReader(contentResolver.openInputStream(uri)!!.bufferedReader())
@ -236,7 +238,7 @@ class BackupRestoreService : Service() {
// Restore individual manga // Restore individual manga
mangasJson.forEach { mangasJson.forEach {
if (job?.isActive != true) { if (job?.isActive != true) {
throw Exception(getString(R.string.restoring_backup_canceled)) return false
} }
restoreManga(it.asJsonObject) restoreManga(it.asJsonObject)
@ -248,6 +250,7 @@ class BackupRestoreService : Service() {
val logFile = writeErrorLog() val logFile = writeErrorLog()
notifier.showRestoreComplete(time, errors.size, logFile.parent, logFile.name) notifier.showRestoreComplete(time, errors.size, logFile.parent, logFile.name)
return true
} }
private fun restoreCategories(categoriesJson: JsonElement) { private fun restoreCategories(categoriesJson: JsonElement) {