Upload large backup attachments using a foreground service.

This commit is contained in:
jeffrey-signal
2025-06-11 12:02:23 -04:00
committed by GitHub
parent f8d8558cdb
commit cd18db613a
18 changed files with 137 additions and 72 deletions

View File

@@ -26,6 +26,7 @@ import org.thoughtcrime.securesms.jobs.BackfillDigestJob
import org.thoughtcrime.securesms.jobs.UploadAttachmentToArchiveJob
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.keyvalue.protos.ArchiveUploadProgressState
import org.whispersystems.signalservice.api.messages.AttachmentTransferProgress
import java.util.concurrent.ConcurrentHashMap
import kotlin.math.max
import kotlin.time.Duration.Companion.milliseconds
@@ -143,12 +144,12 @@ object ArchiveUploadProgress {
}
}
fun onMessageBackupUploadProgress(totalBytes: Long, bytesUploaded: Long) {
fun onMessageBackupUploadProgress(progress: AttachmentTransferProgress) {
updateState {
it.copy(
state = ArchiveUploadProgressState.State.UploadBackupFile,
backupFileUploadedBytes = bytesUploaded,
backupFileTotalBytes = totalBytes
backupFileUploadedBytes = progress.transmitted.inWholeBytes,
backupFileTotalBytes = progress.total.inWholeBytes
)
}
}