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? {
|
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
|
import org.thoughtcrime.securesms.lock.v2.PinKeyboardType
|
||||||
|
|
||||||
data class MessageBackupsFlowState(
|
data class MessageBackupsFlowState(
|
||||||
val selectedMessageBackupTier: MessageBackupTier? = null,
|
val selectedMessageBackupTier: MessageBackupTier? = SignalStore.backup().backupTier,
|
||||||
val currentMessageBackupTier: MessageBackupTier? = null,
|
val currentMessageBackupTier: MessageBackupTier? = SignalStore.backup().backupTier,
|
||||||
val availableBackupTiers: List<MessageBackupTier> = emptyList(),
|
val availableBackupTiers: List<MessageBackupTier> = emptyList(),
|
||||||
val selectedPaymentMethod: InAppPaymentData.PaymentMethodType? = null,
|
val selectedPaymentMethod: InAppPaymentData.PaymentMethodType? = null,
|
||||||
val availablePaymentMethods: List<InAppPaymentData.PaymentMethodType> = emptyList(),
|
val availablePaymentMethods: List<InAppPaymentData.PaymentMethodType> = emptyList(),
|
||||||
|
|
|
@ -146,6 +146,7 @@ fun MessageBackupsTypeSelectionScreen(
|
||||||
|
|
||||||
Buttons.LargePrimary(
|
Buttons.LargePrimary(
|
||||||
onClick = onNextClicked,
|
onClick = onNextClicked,
|
||||||
|
enabled = selectedBackupTier != null,
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(vertical = 16.dp)
|
.padding(vertical = 16.dp)
|
||||||
|
|
|
@ -154,6 +154,11 @@ class RemoteBackupsSettingsFragment : ComposeFragment() {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
EventBus.getDefault().registerForLifecycle(subscriber = this, lifecycleOwner = viewLifecycleOwner)
|
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)
|
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() {
|
fun turnOffAndDeleteBackups() {
|
||||||
// TODO [message-backups] -- Delete.
|
// TODO [message-backups] -- Delete.
|
||||||
SignalStore.backup().areBackupsEnabled = false
|
SignalStore.backup().areBackupsEnabled = false
|
||||||
|
|
|
@ -70,6 +70,11 @@ class BackupsTypeSettingsFragment : ComposeFragment() {
|
||||||
startActivity(Intent(requireContext(), MessageBackupsFlowActivity::class.java))
|
startActivity(Intent(requireContext(), MessageBackupsFlowActivity::class.java))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
viewModel.refresh()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private interface ContentCallbacks {
|
private interface ContentCallbacks {
|
||||||
|
@ -130,7 +135,7 @@ private fun BackupsTypeRow(
|
||||||
backupsTier: MessageBackupTier,
|
backupsTier: MessageBackupTier,
|
||||||
nextRenewalTimestamp: Long
|
nextRenewalTimestamp: Long
|
||||||
) {
|
) {
|
||||||
val messageBackupsType = remember {
|
val messageBackupsType = remember(backupsTier) {
|
||||||
getTierDetails(backupsTier)
|
getTierDetails(backupsTier)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,4 +18,8 @@ class BackupsTypeSettingsViewModel : ViewModel() {
|
||||||
)
|
)
|
||||||
|
|
||||||
val state: State<BackupsTypeSettingsState> = internalState
|
val state: State<BackupsTypeSettingsState> = internalState
|
||||||
|
|
||||||
|
fun refresh() {
|
||||||
|
internalState.value = state.value.copy(backupsTier = SignalStore.backup().backupTier)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue