[Android] New equalizer: proper recycle of the chips
Nicolas Pomepuy
git at videolan.org
Fri Jul 25 11:46:43 UTC 2025
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Tue Jun 17 08:49:31 2025 +0200| [aca333c56e9c27db78110833ffe5f477136ae388] | committer: Nicolas Pomepuy
New equalizer: proper recycle of the chips
> https://code.videolan.org/videolan/vlc-android/commit/aca333c56e9c27db78110833ffe5f477136ae388
---
.../org/videolan/vlc/gui/dialogs/EqualizerFragmentDialog.kt | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/EqualizerFragmentDialog.kt b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/EqualizerFragmentDialog.kt
index 16bddc14d5..c2d35f007d 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/EqualizerFragmentDialog.kt
+++ b/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())
More information about the Android
mailing list