Make message backup settings screen update properly.
This commit is contained in:
parent
df19cb5795
commit
f94c007af8
7 changed files with 28 additions and 4 deletions
|
@ -755,7 +755,7 @@ enum class MessageBackupTier(val value: Int) {
|
|||
}
|
||||
|
||||
override fun deserialize(data: Long): MessageBackupTier? {
|
||||
return values().firstOrNull { it.value == data.toInt() } ?: null
|
||||
return values().firstOrNull { it.value == data.toInt() }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,8 +11,8 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore
|
|||
import org.thoughtcrime.securesms.lock.v2.PinKeyboardType
|
||||
|
||||
data class MessageBackupsFlowState(
|
||||
val selectedMessageBackupTier: MessageBackupTier? = null,
|
||||
val currentMessageBackupTier: MessageBackupTier? = null,
|
||||
val selectedMessageBackupTier: MessageBackupTier? = SignalStore.backup().backupTier,
|
||||
val currentMessageBackupTier: MessageBackupTier? = SignalStore.backup().backupTier,
|
||||
val availableBackupTiers: List<MessageBackupTier> = emptyList(),
|
||||
val selectedPaymentMethod: InAppPaymentData.PaymentMethodType? = null,
|
||||
val availablePaymentMethods: List<InAppPaymentData.PaymentMethodType> = emptyList(),
|
||||
|
|
|
@ -146,6 +146,7 @@ fun MessageBackupsTypeSelectionScreen(
|
|||
|
||||
Buttons.LargePrimary(
|
||||
onClick = onNextClicked,
|
||||
enabled = selectedBackupTier != null,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(vertical = 16.dp)
|
||||
|
|
|
@ -154,6 +154,11 @@ class RemoteBackupsSettingsFragment : ComposeFragment() {
|
|||
super.onViewCreated(view, savedInstanceState)
|
||||
EventBus.getDefault().registerForLifecycle(subscriber = this, lifecycleOwner = viewLifecycleOwner)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
viewModel.refresh()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -50,6 +50,15 @@ class RemoteBackupsSettingsViewModel : ViewModel() {
|
|||
internalState.value = state.value.copy(snackbar = snackbar)
|
||||
}
|
||||
|
||||
fun refresh() {
|
||||
internalState.value = state.value.copy(
|
||||
messageBackupsTier = SignalStore.backup().backupTier,
|
||||
lastBackupTimestamp = SignalStore.backup().lastBackupTime,
|
||||
backupSize = SignalStore.backup().totalBackupSize,
|
||||
backupsFrequency = SignalStore.backup().backupFrequency
|
||||
)
|
||||
}
|
||||
|
||||
fun turnOffAndDeleteBackups() {
|
||||
// TODO [message-backups] -- Delete.
|
||||
SignalStore.backup().areBackupsEnabled = false
|
||||
|
|
|
@ -70,6 +70,11 @@ class BackupsTypeSettingsFragment : ComposeFragment() {
|
|||
startActivity(Intent(requireContext(), MessageBackupsFlowActivity::class.java))
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
viewModel.refresh()
|
||||
}
|
||||
}
|
||||
|
||||
private interface ContentCallbacks {
|
||||
|
@ -130,7 +135,7 @@ private fun BackupsTypeRow(
|
|||
backupsTier: MessageBackupTier,
|
||||
nextRenewalTimestamp: Long
|
||||
) {
|
||||
val messageBackupsType = remember {
|
||||
val messageBackupsType = remember(backupsTier) {
|
||||
getTierDetails(backupsTier)
|
||||
}
|
||||
|
||||
|
|
|
@ -18,4 +18,8 @@ class BackupsTypeSettingsViewModel : ViewModel() {
|
|||
)
|
||||
|
||||
val state: State<BackupsTypeSettingsState> = internalState
|
||||
|
||||
fun refresh() {
|
||||
internalState.value = state.value.copy(backupsTier = SignalStore.backup().backupTier)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue