From 3a530022fc908812ab6cfa287b3ab762be3fab6a Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 1 Oct 2025 10:20:43 -0300 Subject: [PATCH] Add additional dialog checks. --- .../securesms/backup/v2/BackupRepository.kt | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) 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 5f63ff4868..65a4e0f8b0 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 @@ -547,8 +547,38 @@ object BackupRepository { } val isRegistered = SignalStore.account.isRegistered && !TextSecurePreferences.isUnauthorizedReceived(AppDependencies.application) + if (!isRegistered) { + Log.d(TAG, "[shouldDisplayCouldNotCompleteBackupSheet] Not displaying sheet for unregistered user.") + return false + } - return SignalStore.backup.hasBackupBeenUploaded && System.currentTimeMillis().milliseconds > SignalStore.backup.nextBackupFailureSheetSnoozeTime && isRegistered + if (SignalStore.backup.lastBackupTime <= 0) { + Log.d(TAG, "[shouldDisplayCouldNotCompleteBackupSheet] Not displaying sheet as the last backup time is unset.") + return false + } + + if (!SignalStore.backup.hasBackupBeenUploaded) { + Log.d(TAG, "[shouldDisplayCouldNotCompleteBackupSheet] Not displaying sheet as a backup has never been uploaded.") + return false + } + + val now = System.currentTimeMillis().milliseconds + val lastBackupTime = SignalStore.backup.lastBackupTime.milliseconds + val nextSnoozeTime = SignalStore.backup.nextBackupFailureSnoozeTime + + val isLastBackupTimeAtLeastAWeekAgo = now - 7.days > lastBackupTime + if (!isLastBackupTimeAtLeastAWeekAgo) { + Log.d(TAG, "[shouldDisplayCouldNotCompleteBackupSheet] Not displaying sheet as the last backup time is less than a week ago.") + return false + } + + val isNextSnoozeTimeBeforeNow = nextSnoozeTime < now + if (!isNextSnoozeTimeBeforeNow) { + Log.d(TAG, "[shouldDisplayCouldNotCompleteBackupSheet] Not displaying sheet as the next snooze time is in the future.") + return false + } + + return true } fun snoozeDownloadYourBackupData() {