Fix bad UI state when changing backup status.

fork-5.53.8
Cody Henthorne 2022-01-03 12:25:36 -05:00 zatwierdzone przez Alex Hart
rodzic d1eab086f1
commit e48c1bf207
2 zmienionych plików z 12 dodań i 0 usunięć

Wyświetl plik

@ -14,6 +14,11 @@ class ChatsSettingsFragment : DSLSettingsFragment(R.string.preferences_chats__ch
private lateinit var viewModel: ChatsSettingsViewModel
override fun onResume() {
super.onResume()
viewModel.refresh()
}
override fun bindAdapter(adapter: DSLSettingsAdapter) {
val repository = ChatsSettingsRepository()
val factory = ChatsSettingsViewModel.Factory(repository)

Wyświetl plik

@ -52,6 +52,13 @@ class ChatsSettingsViewModel(private val repository: ChatsSettingsRepository) :
SignalStore.settings().isEnterKeySends = enabled
}
fun refresh() {
val backupsEnabled = SignalStore.settings().isBackupEnabled && BackupUtil.canUserAccessBackupDirectory(ApplicationDependencies.getApplication())
if (store.state.chatBackupsEnabled != backupsEnabled) {
store.update { it.copy(chatBackupsEnabled = backupsEnabled) }
}
}
class Factory(private val repository: ChatsSettingsRepository) : ViewModelProvider.Factory {
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return requireNotNull(modelClass.cast(ChatsSettingsViewModel(repository)))