Use trailing job to clear media restore progress.

This commit is contained in:
Cody Henthorne
2024-09-05 14:18:04 -04:00
parent 390ea341ca
commit 2701b570bb
6 changed files with 92 additions and 14 deletions

View File

@@ -331,12 +331,17 @@ object BackupRepository {
fun localImport(mainStreamFactory: () -> InputStream, mainStreamLength: Long, selfData: SelfData): ImportResult {
val backupKey = SignalStore.svr.getOrCreateMasterKey().deriveBackupKey()
val frameReader = EncryptedBackupReader(
key = backupKey,
aci = selfData.aci,
length = mainStreamLength,
dataStream = mainStreamFactory
)
val frameReader = try {
EncryptedBackupReader(
key = backupKey,
aci = selfData.aci,
length = mainStreamLength,
dataStream = mainStreamFactory
)
} catch (e: IOException) {
Log.w(TAG, "Unable to import local archive", e)
return ImportResult.Failure
}
return frameReader.use { reader ->
import(backupKey, reader, selfData)