From 3b9dec5d4286d59a001d099a8a55d448f5af420d Mon Sep 17 00:00:00 2001 From: jeffrey-signal Date: Fri, 20 Jun 2025 14:37:19 -0400 Subject: [PATCH] Reset backup restore state after media restoration completes. Fixes an issue where the SignalStore.backup.restoreState is never updated from RESTORING_MEDIA after completion of the media restoration. --- .../thoughtcrime/securesms/jobs/CheckRestoreMediaLeftJob.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/CheckRestoreMediaLeftJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/CheckRestoreMediaLeftJob.kt index 5e02ef0749..bab0bdfbbe 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/CheckRestoreMediaLeftJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/CheckRestoreMediaLeftJob.kt @@ -6,6 +6,7 @@ package org.thoughtcrime.securesms.jobs import org.signal.core.util.logging.Log +import org.thoughtcrime.securesms.backup.RestoreState import org.thoughtcrime.securesms.database.SignalDatabase import org.thoughtcrime.securesms.jobmanager.Job import org.thoughtcrime.securesms.keyvalue.SignalStore @@ -40,7 +41,9 @@ class CheckRestoreMediaLeftJob private constructor(parameters: Parameters) : Job val remainingAttachmentSize = SignalDatabase.attachments.getRemainingRestorableAttachmentSize() if (remainingAttachmentSize == 0L) { + Log.d(TAG, "Media restore complete: there are no remaining restorable attachments.") SignalStore.backup.totalRestorableAttachmentSize = 0 + SignalStore.backup.restoreState = RestoreState.NONE } else if (runAttempt == 0) { Log.w(TAG, "Still have remaining data to restore, will retry before checking job queues, queue: ${parameters.queue} estimated remaining: $remainingAttachmentSize") return Result.retry(15.seconds.inWholeMilliseconds)