Add 30 day reminder for manual backups.

Co-authored-by: Michelle Tang <mtang@signal.org>
This commit is contained in:
Alex Hart
2025-06-25 14:05:37 -03:00
committed by Cody Henthorne
parent 82531630c7
commit e705495638
8 changed files with 532 additions and 176 deletions

View File

@@ -7,6 +7,7 @@ import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.backup.DeletionState
import org.thoughtcrime.securesms.backup.RestoreState
import org.thoughtcrime.securesms.backup.v2.BackupFrequency
import org.thoughtcrime.securesms.backup.v2.BackupRepository
import org.thoughtcrime.securesms.backup.v2.MessageBackupTier
import org.thoughtcrime.securesms.jobmanager.impl.NoRemoteArchiveGarbageCollectionPendingConstraint
import org.thoughtcrime.securesms.jobmanager.impl.RestoreAttachmentConstraintObserver
@@ -72,6 +73,7 @@ class BackupValues(store: KeyValueStore) : SignalStoreValues(store) {
private const val KEY_BACKUP_ALREADY_REDEEMED = "backup.already.redeemed"
private const val KEY_INVALID_BACKUP_VERSION = "backup.invalid.version"
private const val KEY_NOT_ENOUGH_REMOTE_STORAGE_SPACE = "backup.not.enough.remote.storage.space"
private const val KEY_MANUAL_NO_BACKUP_NOTIFIED = "backup.manual.no.backup.notified"
private const val KEY_USER_MANUALLY_SKIPPED_MEDIA_RESTORE = "backup.user.manually.skipped.media.restore"
private const val KEY_BACKUP_EXPIRED_AND_DOWNGRADED = "backup.expired.and.downgraded"
@@ -115,6 +117,8 @@ class BackupValues(store: KeyValueStore) : SignalStoreValues(store) {
get() = getLong(KEY_LAST_BACKUP_TIME, -1)
set(value) {
putLong(KEY_LAST_BACKUP_TIME, value)
isNoBackupForManualUploadNotified = false
BackupRepository.cancelManualBackupNotCreatedInThresholdNotification()
clearMessageBackupFailureSheetWatermark()
}
@@ -317,6 +321,8 @@ class BackupValues(store: KeyValueStore) : SignalStoreValues(store) {
var isNotEnoughRemoteStorageSpace by booleanValue(KEY_NOT_ENOUGH_REMOTE_STORAGE_SPACE, false)
var isNoBackupForManualUploadNotified by booleanValue(KEY_MANUAL_NO_BACKUP_NOTIFIED, false)
/**
* If true, it means we have been told that remote storage is full, but we have not yet run any of our "garbage collection" tasks, like committing deletes
* or pruning orphaned media.