mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-28 21:57:17 +00:00
Fix missing profile avatars on restore.
This commit is contained in:
committed by
Greyson Parrelli
parent
828fa238c5
commit
e0726ce62f
@@ -14,6 +14,7 @@ import okio.ByteString.Companion.toByteString
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.signal.core.util.Base64
|
||||
import org.signal.core.util.ByteSize
|
||||
import org.signal.core.util.CursorUtil
|
||||
import org.signal.core.util.EventTimer
|
||||
import org.signal.core.util.Stopwatch
|
||||
import org.signal.core.util.bytes
|
||||
@@ -69,6 +70,7 @@ import org.thoughtcrime.securesms.database.OneTimePreKeyTable
|
||||
import org.thoughtcrime.securesms.database.SearchTable
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.database.SignedPreKeyTable
|
||||
import org.thoughtcrime.securesms.database.ThreadTable
|
||||
import org.thoughtcrime.securesms.database.model.InAppPaymentSubscriberRecord
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
import org.thoughtcrime.securesms.groups.GroupId
|
||||
@@ -79,6 +81,7 @@ import org.thoughtcrime.securesms.jobs.CheckRestoreMediaLeftJob
|
||||
import org.thoughtcrime.securesms.jobs.RequestGroupV2InfoJob
|
||||
import org.thoughtcrime.securesms.jobs.RestoreAttachmentJob
|
||||
import org.thoughtcrime.securesms.jobs.RestoreOptimizedMediaJob
|
||||
import org.thoughtcrime.securesms.jobs.RetrieveProfileJob
|
||||
import org.thoughtcrime.securesms.keyvalue.BackupValues.ArchiveServiceCredentials
|
||||
import org.thoughtcrime.securesms.keyvalue.KeyValueStore
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
@@ -132,6 +135,7 @@ object BackupRepository {
|
||||
private const val REMOTE_KEYVALUE_DB_SNAPSHOT_NAME = "remote-signal-key-value-snapshot"
|
||||
private const val LOCAL_MAIN_DB_SNAPSHOT_NAME = "local-signal-snapshot"
|
||||
private const val LOCAL_KEYVALUE_DB_SNAPSHOT_NAME = "local-signal-key-value-snapshot"
|
||||
private const val RECENT_RECIPIENTS_MAX = 50
|
||||
|
||||
private val resetInitializedStateErrorAction: StatusCodeErrorAction = { error ->
|
||||
when (error.code) {
|
||||
@@ -1015,6 +1019,24 @@ object BackupRepository {
|
||||
AppDependencies.recipientCache.warmUp()
|
||||
SignalDatabase.threads.clearCache()
|
||||
|
||||
val recipientIds = SignalDatabase.threads.getRecentConversationList(
|
||||
limit = RECENT_RECIPIENTS_MAX,
|
||||
includeInactiveGroups = false,
|
||||
individualsOnly = true,
|
||||
groupsOnly = false,
|
||||
hideV1Groups = true,
|
||||
hideSms = true,
|
||||
hideSelf = true
|
||||
).use {
|
||||
val recipientSet = mutableSetOf<RecipientId>()
|
||||
while (it.moveToNext()) {
|
||||
recipientSet.add(RecipientId.from(CursorUtil.requireLong(it, ThreadTable.RECIPIENT_ID)))
|
||||
}
|
||||
recipientSet
|
||||
}
|
||||
|
||||
RetrieveProfileJob.enqueue(recipientIds)
|
||||
|
||||
val groupJobs = SignalDatabase.groups.getGroups().use { groups ->
|
||||
val jobs = mutableListOf<Job>()
|
||||
groups
|
||||
|
||||
Reference in New Issue
Block a user