Browse Source

New equalizer: proper recycle of the chips

merge-requests/2298/head
Nicolas Pomepuy 1 year ago
parent
commit
aca333c56e
  1. 11
      application/vlc-android/src/org/videolan/vlc/gui/dialogs/EqualizerFragmentDialog.kt

11
application/vlc-android/src/org/videolan/vlc/gui/dialogs/EqualizerFragmentDialog.kt

@ -195,6 +195,17 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
private fun fillPresets() {
var selectedChip: Chip? = null
// Refresh instead of recreating
if (binding.equalizerPresets.children.count() == viewModel.equalizerEntries.value?.count()) {
binding.equalizerPresets.children.forEachIndexed {index, chip ->
(chip as Chip).let {
it.tag = viewModel.equalizerEntries.value?.get(index)?.equalizerEntry?.id
it.text = viewModel.equalizerEntries.value?.get(index)?.equalizerEntry?.name
}
}
return
}
binding.equalizerPresets.removeAllViews()
viewModel.equalizerEntries.value?.forEachIndexed { index, item ->
val chip = Chip(requireActivity())

Loading…
Cancel
Save