Explicitly persist message backup tier.
This commit is contained in:
parent
b59932cd88
commit
e647b31f29
3 changed files with 17 additions and 14 deletions
|
@ -7,6 +7,7 @@ package org.thoughtcrime.securesms.backup.v2
|
|||
|
||||
import org.signal.core.util.Base64
|
||||
import org.signal.core.util.EventTimer
|
||||
import org.signal.core.util.LongSerializer
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.signal.core.util.withinTransaction
|
||||
import org.signal.libsignal.messagebackup.MessageBackup
|
||||
|
@ -689,7 +690,17 @@ class BackupMetadata(
|
|||
val mediaCount: Long
|
||||
)
|
||||
|
||||
enum class MessageBackupTier {
|
||||
FREE,
|
||||
PAID
|
||||
enum class MessageBackupTier(val value: Int) {
|
||||
FREE(0),
|
||||
PAID(1);
|
||||
|
||||
companion object Serializer : LongSerializer<MessageBackupTier> {
|
||||
override fun serialize(data: MessageBackupTier): Long {
|
||||
return data.value.toLong()
|
||||
}
|
||||
|
||||
override fun deserialize(data: Long): MessageBackupTier {
|
||||
return values().firstOrNull { it.value == data.toInt() } ?: FREE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -73,6 +73,7 @@ class MessageBackupsFlowViewModel : ViewModel() {
|
|||
|
||||
private fun validateTypeAndUpdateState(): MessageBackupsScreen {
|
||||
SignalStore.backup().areBackupsEnabled = true
|
||||
SignalStore.backup().backupTier = state.value.selectedMessageBackupTier!!
|
||||
return MessageBackupsScreen.COMPLETED
|
||||
// return MessageBackupsScreen.CHECKOUT_SHEET TODO [message-backups] Switch back to payment flow
|
||||
}
|
||||
|
|
|
@ -17,12 +17,12 @@ internal class BackupValues(store: KeyValueStore) : SignalStoreValues(store) {
|
|||
companion object {
|
||||
val TAG = Log.tag(BackupValues::class.java)
|
||||
private const val KEY_CREDENTIALS = "backup.credentials"
|
||||
private const val KEY_CDN_CAN_READ_WRITE = "backup.cdn.canReadWrite"
|
||||
private const val KEY_CDN_READ_CREDENTIALS = "backup.cdn.readCredentials"
|
||||
private const val KEY_CDN_READ_CREDENTIALS_TIMESTAMP = "backup.cdn.readCredentials.timestamp"
|
||||
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_NEXT_BACKUP_TIME = "backup.nextBackupTime"
|
||||
private const val KEY_LAST_BACKUP_TIME = "backup.lastBackupTime"
|
||||
|
@ -60,6 +60,7 @@ internal class BackupValues(store: KeyValueStore) : SignalStoreValues(store) {
|
|||
var nextBackupTime: Long by longValue(KEY_NEXT_BACKUP_TIME, -1)
|
||||
var lastBackupTime: Long by longValue(KEY_LAST_BACKUP_TIME, -1)
|
||||
var backupFrequency: BackupFrequency by enumValue(KEY_BACKUP_FREQUENCY, BackupFrequency.MANUAL, BackupFrequency.Serializer)
|
||||
var backupTier: MessageBackupTier by enumValue(KEY_BACKUP_TIER, MessageBackupTier.FREE, MessageBackupTier.Serializer)
|
||||
|
||||
val totalBackupSize: Long get() = lastBackupProtoSize + usedBackupMediaSpace
|
||||
|
||||
|
@ -81,16 +82,6 @@ internal class BackupValues(store: KeyValueStore) : SignalStoreValues(store) {
|
|||
.apply()
|
||||
}
|
||||
|
||||
val backupTier: MessageBackupTier? = if (areBackupsEnabled) {
|
||||
if (backsUpMedia) {
|
||||
MessageBackupTier.PAID
|
||||
} else {
|
||||
MessageBackupTier.FREE
|
||||
}
|
||||
} else {
|
||||
null
|
||||
}
|
||||
|
||||
var backupsInitialized: Boolean by booleanValue(KEY_BACKUPS_INITIALIZED, false)
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Reference in a new issue