Make message backup settings screen update properly.

This commit is contained in:
Clark
2024-06-10 14:46:50 -04:00
committed by Greyson Parrelli
parent df19cb5795
commit f94c007af8
7 changed files with 28 additions and 4 deletions

View File

@@ -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()
}
}
/**

View File

@@ -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

View File

@@ -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)
}

View File

@@ -18,4 +18,8 @@ class BackupsTypeSettingsViewModel : ViewModel() {
)
val state: State<BackupsTypeSettingsState> = internalState
fun refresh() {
internalState.value = state.value.copy(backupsTier = SignalStore.backup().backupTier)
}
}