Display progress for RestoreAttachmentJobs as a Banner.

This commit is contained in:
Nicholas Tinsley
2024-08-08 14:50:36 -04:00
committed by mtang-signal
parent 4af6e0480a
commit 7807d92825
10 changed files with 196 additions and 7 deletions

View File

@@ -45,6 +45,7 @@ import org.signal.core.util.groupBy
import org.signal.core.util.isNull
import org.signal.core.util.logging.Log
import org.signal.core.util.readToList
import org.signal.core.util.readToSingleLong
import org.signal.core.util.readToSingleObject
import org.signal.core.util.requireBlob
import org.signal.core.util.requireBoolean
@@ -454,6 +455,15 @@ class AttachmentTable(
}.flatten()
}
fun getTotalRestorableAttachmentSize(): Long {
return readableDatabase
.select("SUM($DATA_SIZE)")
.from(TABLE_NAME)
.where("$TRANSFER_STATE = ?", TRANSFER_NEEDS_RESTORE.toString())
.run()
.readToSingleLong()
}
/**
* Finds the next eligible attachment that needs to be uploaded to the archive service.
* If it exists, it'll also atomically be marked as [ArchiveTransferState.BACKFILL_UPLOAD_IN_PROGRESS].