From 2c752ab5ba31434b7fab2aeda585e6b12dfc2bb7 Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Mon, 16 Jun 2025 15:00:22 -0400 Subject: [PATCH] Avoid uploading onboarding story media during restore. --- .../org/thoughtcrime/securesms/backup/v2/BackupRepository.kt | 3 +++ .../thoughtcrime/securesms/jobs/StoryOnboardingDownloadJob.kt | 3 ++- .../securesms/stories/viewer/StoryViewerFragment.kt | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) 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 6b4c76deda..5c1c2b71d5 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 @@ -86,6 +86,7 @@ import org.thoughtcrime.securesms.jobmanager.Job import org.thoughtcrime.securesms.jobs.AvatarGroupsV2DownloadJob import org.thoughtcrime.securesms.jobs.BackupDeleteJob import org.thoughtcrime.securesms.jobs.CheckRestoreMediaLeftJob +import org.thoughtcrime.securesms.jobs.CreateReleaseChannelJob import org.thoughtcrime.securesms.jobs.RequestGroupV2InfoJob import org.thoughtcrime.securesms.jobs.RestoreAttachmentJob import org.thoughtcrime.securesms.jobs.RestoreOptimizedMediaJob @@ -1082,6 +1083,8 @@ object BackupRepository { RetrieveProfileJob.enqueue(recipientIds) + AppDependencies.jobManager.add(CreateReleaseChannelJob.create()) + val groupJobs = SignalDatabase.groups.getGroups().use { groups -> val jobs = mutableListOf() groups diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/StoryOnboardingDownloadJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/StoryOnboardingDownloadJob.kt index 6a2c1541db..30c7b581ef 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/StoryOnboardingDownloadJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/StoryOnboardingDownloadJob.kt @@ -49,7 +49,8 @@ class StoryOnboardingDownloadJob private constructor(parameters: Parameters) : B } fun enqueueIfNeeded() { - if (SignalStore.story.hasDownloadedOnboardingStory) { + if (SignalStore.story.hasDownloadedOnboardingStory || SignalStore.story.userHasViewedOnboardingStory) { + Log.i(TAG, "Skipping because user has already viewed the onboarding story or it is already downloaded") return } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerFragment.kt index e1dd89c2fa..126949a40c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerFragment.kt @@ -135,7 +135,7 @@ class StoryViewerFragment : } else { viewModel.refresh() - if (!SignalStore.story.userHasSeenFirstNavView) { + if (!SignalStore.story.userHasSeenFirstNavView && !SignalStore.story.userHasViewedOnboardingStory) { StoryFirstTimeNavigationFragment().show(childFragmentManager, null) } }