From c4da61cd931332c482b25ee84dd64b52e503bef8 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 10 Jun 2025 14:06:05 -0300 Subject: [PATCH] Add backup alert fragment tag to prevent concurrent opens. --- .../securesms/backup/v2/ui/BackupAlertDelegate.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/BackupAlertDelegate.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/BackupAlertDelegate.kt index db3ec5e3cb..f51b0c7a36 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/BackupAlertDelegate.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/BackupAlertDelegate.kt @@ -20,16 +20,19 @@ import org.thoughtcrime.securesms.keyvalue.protos.BackupDownloadNotifierState * Delegate that controls whether and which backup alert sheet is displayed. */ object BackupAlertDelegate { + + private const val FRAGMENT_TAG = "BackupAlertFragmentTag" + @JvmStatic fun delegate(fragmentManager: FragmentManager, lifecycle: Lifecycle) { lifecycle.coroutineScope.launch { lifecycle.repeatOnLifecycle(Lifecycle.State.RESUMED) { if (BackupRepository.shouldDisplayBackupFailedSheet()) { - BackupAlertBottomSheet.create(BackupAlert.BackupFailed).show(fragmentManager, null) + BackupAlertBottomSheet.create(BackupAlert.BackupFailed).show(fragmentManager, FRAGMENT_TAG) } else if (BackupRepository.shouldDisplayCouldNotCompleteBackupSheet()) { - BackupAlertBottomSheet.create(BackupAlert.CouldNotCompleteBackup(daysSinceLastBackup = SignalStore.backup.daysSinceLastBackup)).show(fragmentManager, null) + BackupAlertBottomSheet.create(BackupAlert.CouldNotCompleteBackup(daysSinceLastBackup = SignalStore.backup.daysSinceLastBackup)).show(fragmentManager, FRAGMENT_TAG) } else if (BackupRepository.shouldDisplayBackupExpiredAndDowngradedSheet()) { - BackupAlertBottomSheet.create(BackupAlert.ExpiredAndDowngraded).show(fragmentManager, null) + BackupAlertBottomSheet.create(BackupAlert.ExpiredAndDowngraded).show(fragmentManager, FRAGMENT_TAG) } displayBackupDownloadNotifier(fragmentManager) @@ -41,10 +44,10 @@ object BackupAlertDelegate { val downloadYourBackupToday = withContext(SignalDispatchers.IO) { BackupRepository.getDownloadYourBackupData() } when (downloadYourBackupToday?.type) { BackupDownloadNotifierState.Type.SHEET -> { - BackupAlertBottomSheet.create(downloadYourBackupToday).show(fragmentManager, null) + BackupAlertBottomSheet.create(downloadYourBackupToday).show(fragmentManager, FRAGMENT_TAG) } BackupDownloadNotifierState.Type.DIALOG -> { - DownloadYourBackupTodayDialog.create(downloadYourBackupToday).show(fragmentManager, null) + DownloadYourBackupTodayDialog.create(downloadYourBackupToday).show(fragmentManager, FRAGMENT_TAG) } null -> Unit }