diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/BackupRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/BackupRepository.kt index 65a4e0f8b0..2b8a42d63b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/BackupRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/BackupRepository.kt @@ -109,11 +109,14 @@ import org.thoughtcrime.securesms.jobs.BackupRestoreMediaJob import org.thoughtcrime.securesms.jobs.CancelRestoreMediaJob import org.thoughtcrime.securesms.jobs.CreateReleaseChannelJob import org.thoughtcrime.securesms.jobs.LocalBackupJob +import org.thoughtcrime.securesms.jobs.MultiDeviceKeysUpdateJob import org.thoughtcrime.securesms.jobs.RequestGroupV2InfoJob import org.thoughtcrime.securesms.jobs.ResetSvrGuessCountJob import org.thoughtcrime.securesms.jobs.RestoreOptimizedMediaJob import org.thoughtcrime.securesms.jobs.RetrieveProfileJob import org.thoughtcrime.securesms.jobs.StickerPackDownloadJob +import org.thoughtcrime.securesms.jobs.StorageForcePushJob +import org.thoughtcrime.securesms.jobs.Svr2MirrorJob import org.thoughtcrime.securesms.jobs.UploadAttachmentToArchiveJob import org.thoughtcrime.securesms.keyvalue.BackupValues.ArchiveServiceCredentials import org.thoughtcrime.securesms.keyvalue.KeyValueStore @@ -241,9 +244,22 @@ object BackupRepository { resetInitializedStateAndAuthCredentials() SignalStore.account.rotateAccountEntropyPool(stagedKeyRotations.aep) SignalStore.backup.mediaRootBackupKey = stagedKeyRotations.mediaRootBackupKey + refreshMasterKeyDependents() BackupMessagesJob.enqueue() } + private fun refreshMasterKeyDependents() { + val jobs = buildList { + add(Svr2MirrorJob()) + if (SignalStore.account.isMultiDevice) { + add(MultiDeviceKeysUpdateJob()) + } + add(StorageForcePushJob()) + } + + AppDependencies.jobManager.addAll(jobs) + } + fun resetInitializedStateAndAuthCredentials() { SignalStore.backup.backupsInitialized = false SignalStore.backup.messageCredentials.clearAll() diff --git a/app/src/main/java/org/thoughtcrime/securesms/migrations/ApplicationMigrations.java b/app/src/main/java/org/thoughtcrime/securesms/migrations/ApplicationMigrations.java index 2bbea53cba..4acc36a5a2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/migrations/ApplicationMigrations.java +++ b/app/src/main/java/org/thoughtcrime/securesms/migrations/ApplicationMigrations.java @@ -189,9 +189,10 @@ public class ApplicationMigrations { static final int ARCHIVE_BACKUP_ID = 145; static final int QUOTE_THUMBNAIL_BACKFILL = 146; static final int EMOJI_ENGLISH_SEARCH = 147; + static final int AEP_ROTATE_FIX = 148; } - public static final int CURRENT_VERSION = 147; + public static final int CURRENT_VERSION = 148; /** * This *must* be called after the {@link JobManager} has been instantiated, but *before* the call @@ -874,6 +875,10 @@ public class ApplicationMigrations { jobs.put(Version.EMOJI_ENGLISH_SEARCH, new EmojiSearchEnglishLabelsMigrationJob()); } + if (lastSeenVersion < Version.AEP_ROTATE_FIX) { + jobs.put(Version.AEP_ROTATE_FIX, new AepMigrationJob()); + } + return jobs; }