From b2478844d73c39125f75f914c20ee68352587b51 Mon Sep 17 00:00:00 2001 From: Ahmad Ansori Palembani Date: Thu, 27 Jun 2024 14:35:15 +0700 Subject: [PATCH] refactor(backup/restore): Return try catch --- .../data/backup/restore/BackupRestoreJob.kt | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestoreJob.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestoreJob.kt index 1d8586e909..4e6a42b4cf 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestoreJob.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestoreJob.kt @@ -26,7 +26,6 @@ import yokai.util.lang.getString class BackupRestoreJob(val context: Context, workerParams: WorkerParameters) : CoroutineWorker(context, workerParams) { private val notifier = BackupNotifier(context.localeContext) - private val restorer = BackupRestorer(context, notifier) override suspend fun getForegroundInfo(): ForegroundInfo { val notification = notifier.showRestoreProgress(progress = -1).build() @@ -41,27 +40,28 @@ class BackupRestoreJob(val context: Context, workerParams: WorkerParameters) : C override suspend fun doWork(): Result { if (isRunning(context)) return Result.failure() - tryToSetForeground() - val uriPath = inputData.getString(BackupConst.EXTRA_URI) ?: return Result.failure() val uri = Uri.parse(uriPath) ?: return Result.failure() - withIOContext { + tryToSetForeground() + + return withIOContext { try { - if (!restorer.restoreBackup(uri)) { + if (!BackupRestorer(context, notifier).restoreBackup(uri)) notifier.showRestoreError(context.getString(MR.strings.restoring_backup_canceled)) - } - } catch (exception: Exception) { - if (exception is CancellationException) { + Result.success() + } catch (e: Exception) { + if (e is CancellationException) { notifier.showRestoreError(context.getString(MR.strings.restoring_backup_canceled)) + Result.success() } else { restorer.writeErrorLog() - notifier.showRestoreError(exception.message) + notifier.showRestoreError(e.message) + Result.failure() } } } - return Result.success() } companion object {