Calculate remote backup media quota usage locally.

This commit is contained in:
Cody Henthorne
2025-06-06 10:47:32 -04:00
committed by Greyson Parrelli
parent efa9dd6ec3
commit 882a11c420
12 changed files with 119 additions and 37 deletions

View File

@@ -34,7 +34,6 @@ class BackupValues(store: KeyValueStore) : SignalStoreValues(store) {
private const val KEY_MEDIA_CDN_READ_CREDENTIALS = "backup.mediaCdnReadCredentials"
private const val KEY_MEDIA_CDN_READ_CREDENTIALS_TIMESTAMP = "backup.mediaCdnReadCredentialsTimestamp"
private const val KEY_RESTORE_STATE = "backup.restoreState"
private const val KEY_BACKUP_USED_MEDIA_SPACE = "backup.usedMediaSpace"
private const val KEY_BACKUP_LAST_PROTO_SIZE = "backup.lastProtoSize"
private const val KEY_BACKUP_TIER = "backup.backupTier"
private const val KEY_BACKUP_TIER_INTERNAL_OVERRIDE = "backup.backupTier.internalOverride"
@@ -85,7 +84,7 @@ class BackupValues(store: KeyValueStore) : SignalStoreValues(store) {
override fun getKeysToIncludeInBackup(): List<String> = emptyList()
var cachedMediaCdnPath: String? by stringValue(KEY_CDN_MEDIA_PATH, null)
var usedBackupMediaSpace: Long by longValue(KEY_BACKUP_USED_MEDIA_SPACE, 0L)
var lastBackupProtoSize: Long by longValue(KEY_BACKUP_LAST_PROTO_SIZE, 0L)
private val deletionStateValue = enumValue(KEY_BACKUP_DELETION_STATE, DeletionState.NONE, DeletionState.serializer)
@@ -223,8 +222,6 @@ class BackupValues(store: KeyValueStore) : SignalStoreValues(store) {
*/
var archiveUploadState: ArchiveUploadProgressState? by protoValue(KEY_ARCHIVE_UPLOAD_STATE, ArchiveUploadProgressState.ADAPTER)
val totalBackupSize: Long get() = lastBackupProtoSize + usedBackupMediaSpace
/** True if the user backs up media, otherwise false. */
val backsUpMedia: Boolean
@JvmName("backsUpMedia")

View File

@@ -20,6 +20,7 @@ class RegistrationValues internal constructor(store: KeyValueStore) : SignalStor
private const val SESSION_ID = "registration.session_id"
private const val LOCAL_REGISTRATION_DATA = "registration.local_registration_data"
private const val RESTORE_METHOD_TOKEN = "registration.restore_method_token"
private const val RESTORE_BACKUP_MEDIA_SIZE = "registration.restore_backup_media_size"
private const val IS_OTHER_DEVICE_ANDROID = "registration.is_other_device_android"
private const val RESTORING_ON_NEW_DEVICE = "registration.restoring_on_new_device"
@@ -72,6 +73,7 @@ class RegistrationValues internal constructor(store: KeyValueStore) : SignalStor
var isOtherDeviceAndroid: Boolean by booleanValue(IS_OTHER_DEVICE_ANDROID, false)
var restoreMethodToken: String? by stringValue(RESTORE_METHOD_TOKEN, null)
var restoreBackupMediaSize: Long by longValue(RESTORE_BACKUP_MEDIA_SIZE, 0L)
@get:JvmName("isRestoringOnNewDevice")
var restoringOnNewDevice: Boolean by booleanValue(RESTORING_ON_NEW_DEVICE, false)