[Android] Allow setting the current equalizer in the equalizer activity

Nicolas Pomepuy git at videolan.org
Fri Jul 25 11:46:43 UTC 2025


vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Thu Jun 26 13:35:58 2025 +0200| [bd7d95d18c2f63f96c7e81e95e819f76accb4665] | committer: Nicolas Pomepuy

Allow setting the current equalizer in the equalizer activity

> https://code.videolan.org/videolan/vlc-android/commit/bd7d95d18c2f63f96c7e81e95e819f76accb4665
---

 .../src/org/videolan/vlc/gui/EqualizerSettingsActivity.kt   | 13 ++++++++++---
 .../src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt   |  1 -
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/application/vlc-android/src/org/videolan/vlc/gui/EqualizerSettingsActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/EqualizerSettingsActivity.kt
index e93c0329ff..58bc18052d 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/EqualizerSettingsActivity.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/EqualizerSettingsActivity.kt
@@ -94,6 +94,10 @@ class EqualizerSettingsActivity : BaseActivity() {
                 }
 
                 ClickType.EQUALIZER_EXPORT -> model.export(this, equalizer)
+                ClickType.EQUALIZER_CHANGE_CURRENT -> {
+                    model.currentEqualizerId = equalizer.equalizerEntry.id
+                    model.updateEqualizer()
+                }
             }
         }
         binding.equalizers.adapter = adapter
@@ -106,14 +110,13 @@ class EqualizerSettingsActivity : BaseActivity() {
                 val newIndex = adapter.dataset.indexOfFirst { it.equalizerEntry.id == adapter.currentId }
                 adapter.notifyItemChanged(oldIndex)
                 adapter.notifyItemChanged(newIndex)
-
             }
         }
 
         model.equalizerUnfilteredEntries.observe(this) {
             adapter.update(it)
         }
-
+        model.equalizerEntries.observe(this) { }
 
         binding.renameInputText.addTextChangedListener {
             if (model.checkForbidden(it.toString())) {
@@ -218,6 +221,10 @@ class EqualizerSettingsAdapter(private val itemClickHandler: (equalizer: Equaliz
     inner class ViewHolder(vdb: EqualizerSettingItemBinding) : SelectorViewHolder<EqualizerSettingItemBinding>(vdb) {
         init {
             binding.holder = this
+            itemView.setOnClickListener{v ->
+                if (!dataset[layoutPosition].equalizerEntry.isDisabled && currentId != dataset[position].equalizerEntry.id)
+                    itemClickHandler.invoke(dataset[layoutPosition], ClickType.EQUALIZER_CHANGE_CURRENT)
+            }
         }
 
         fun onClickEnable(@Suppress("UNUSED_PARAMETER") v: View) {
@@ -239,7 +246,7 @@ class EqualizerSettingsAdapter(private val itemClickHandler: (equalizer: Equaliz
 }
 
 enum class ClickType {
-    EQUALIZER_DISABLE, EQUALIZER_ENABLE, EQUALIZER_DELETE, EQUALIZER_EXPORT
+    EQUALIZER_DISABLE, EQUALIZER_ENABLE, EQUALIZER_DELETE, EQUALIZER_EXPORT, EQUALIZER_CHANGE_CURRENT
 }
 
 fun EqualizerWithBands.getBitmap(context: Context): Bitmap {
diff --git a/application/vlc-android/src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt b/application/vlc-android/src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt
index c4df32a234..218138bcff 100644
--- a/application/vlc-android/src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt
+++ b/application/vlc-android/src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt
@@ -77,7 +77,6 @@ class EqualizerViewModel(context: Context, private val equalizerRepository: Equa
             field = value
             settings.edit { putLong(KEY_CURRENT_EQUALIZER_ID, value) }
             currentEqualizerIdLive.postValue(value)
-
         }
 
     fun updateEqualizer() {



More information about the Android mailing list