From f838dcb243a249146cff1b8007a8c50753ba387e Mon Sep 17 00:00:00 2001 From: Ahmad Ansori Palembani Date: Wed, 25 Sep 2024 11:51:56 +0700 Subject: [PATCH] fix: Don't try to auto backup if battery is too low --- .../tachiyomi/data/backup/create/BackupCreatorJob.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreatorJob.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreatorJob.kt index 10e1718705..06e4122fef 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreatorJob.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreatorJob.kt @@ -6,6 +6,7 @@ import android.net.Uri import android.os.Build import androidx.core.net.toUri import androidx.work.BackoffPolicy +import androidx.work.Constraints import androidx.work.CoroutineWorker import androidx.work.ExistingPeriodicWorkPolicy import androidx.work.ExistingWorkPolicy @@ -55,7 +56,7 @@ class BackupCreatorJob(private val context: Context, workerParams: WorkerParamet if (!isAutoBackup) notifier.showBackupComplete(UniFile.fromUri(context, location.toUri())!!) Result.success() } catch (e: Exception) { - Logger.e(e) + Logger.e(e) { "Unable to create backup" } if (!isAutoBackup) notifier.showBackupError(e.message) Result.failure() } finally { @@ -91,6 +92,10 @@ class BackupCreatorJob(private val context: Context, workerParams: WorkerParamet val preferences = Injekt.get() val interval = prefInterval ?: preferences.backupInterval().get() if (interval > 0) { + val constraints = Constraints( + requiresBatteryNotLow = true, + ) + val request = PeriodicWorkRequestBuilder( interval.toLong(), TimeUnit.HOURS, @@ -99,6 +104,7 @@ class BackupCreatorJob(private val context: Context, workerParams: WorkerParamet ) .setBackoffCriteria(BackoffPolicy.EXPONENTIAL, 10, TimeUnit.MINUTES) .addTag(TAG_AUTO) + .setConstraints(constraints) .setInputData(workDataOf(IS_AUTO_BACKUP_KEY to true)) .build()