diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/ArchiveAttachmentReconciliationJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/ArchiveAttachmentReconciliationJob.kt index 2ce2c12c0e..10cf6ac4ce 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/ArchiveAttachmentReconciliationJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/ArchiveAttachmentReconciliationJob.kt @@ -71,6 +71,11 @@ class ArchiveAttachmentReconciliationJob private constructor( override fun getFactoryKey(): String = KEY override fun run(): Result { + if (!SignalStore.backup.backsUpMedia) { + Log.w(TAG, "This user doesn't back up media! Skipping.") + return Result.success() + } + val timeSinceLastSync = System.currentTimeMillis() - SignalStore.backup.lastAttachmentReconciliationTime if (!forced && serverCursor == null && timeSinceLastSync > 0 && timeSinceLastSync < RemoteConfig.archiveReconciliationSyncInterval.inWholeMilliseconds) { Log.d(TAG, "No need to do a remote sync yet. Time since last sync: $timeSinceLastSync ms") diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/ArchiveCommitAttachmentDeletesJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/ArchiveCommitAttachmentDeletesJob.kt index 203d617bc7..f3ecf58b2a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/ArchiveCommitAttachmentDeletesJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/ArchiveCommitAttachmentDeletesJob.kt @@ -11,6 +11,7 @@ import org.thoughtcrime.securesms.backup.v2.BackupRepository import org.thoughtcrime.securesms.database.BackupMediaSnapshotTable import org.thoughtcrime.securesms.database.SignalDatabase import org.thoughtcrime.securesms.jobmanager.Job +import org.thoughtcrime.securesms.keyvalue.SignalStore import org.whispersystems.signalservice.api.NetworkResult import java.lang.RuntimeException import kotlin.time.Duration.Companion.days @@ -96,6 +97,11 @@ class ArchiveCommitAttachmentDeletesJob private constructor(parameters: Paramete override fun getFactoryKey(): String = KEY override fun run(): Result { + if (!SignalStore.backup.backsUpMedia) { + Log.w(TAG, "This user doesn't back up media! Skipping.") + return Result.success() + } + var mediaObjects = SignalDatabase.backupMediaSnapshots.getPageOfOldMediaObjects(REMOTE_DELETE_BATCH_SIZE) while (mediaObjects.isNotEmpty()) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/BackupMessagesJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/BackupMessagesJob.kt index e74c6cedd8..d0fb8e15b7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/BackupMessagesJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/BackupMessagesJob.kt @@ -240,8 +240,10 @@ class BackupMessagesJob private constructor( BackupRepository.clearBackupFailure() SignalDatabase.backupMediaSnapshots.commitPendingRows() - AppDependencies.jobManager.add(ArchiveCommitAttachmentDeletesJob()) - AppDependencies.jobManager.add(ArchiveAttachmentReconciliationJob()) + if (SignalStore.backup.backsUpMedia) { + AppDependencies.jobManager.add(ArchiveCommitAttachmentDeletesJob()) + AppDependencies.jobManager.add(ArchiveAttachmentReconciliationJob()) + } return Result.success() }