[Android] Refactor the equalizer enabled setting

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 12 14:04:41 2025 +0200| [f44324066e812395660e62a82a6d988b30c9a01d] | committer: Nicolas Pomepuy

Refactor the equalizer enabled setting

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

 application/tools/src/main/java/org/videolan/tools/Settings.kt    | 1 +
 .../src/org/videolan/vlc/gui/dialogs/EqualizerFragmentDialog.kt   | 8 ++++----
 .../vlc-android/src/org/videolan/vlc/media/PlayerController.kt    | 3 ++-
 .../src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt         | 6 +++++-
 4 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/application/tools/src/main/java/org/videolan/tools/Settings.kt b/application/tools/src/main/java/org/videolan/tools/Settings.kt
index 1c15e1e223..c54d59c209 100644
--- a/application/tools/src/main/java/org/videolan/tools/Settings.kt
+++ b/application/tools/src/main/java/org/videolan/tools/Settings.kt
@@ -203,6 +203,7 @@ const val KEY_COOKIE_SIGN_KEY = "cookie_sign_key"
 
 //Equalizer
 const val KEY_CURRENT_EQUALIZER_ID = "current_equalizer_id"
+const val KEY_EQUALIZER_ENABLED = "equalizer_enabled"
 
 
 //Tips
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 aeb1e37715..ae92457be6 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
@@ -44,6 +44,7 @@ import kotlinx.coroutines.withContext
 import org.videolan.libvlc.MediaPlayer
 import org.videolan.resources.VLCInstance
 import org.videolan.resources.VLCOptions
+import org.videolan.tools.KEY_EQUALIZER_ENABLED
 import org.videolan.tools.Settings
 import org.videolan.tools.isStarted
 import org.videolan.vlc.BuildConfig
@@ -107,6 +108,7 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
             if (oldCurrentEqualizer == null) fillViews()
             oldEqualiserSets = newEqualizerSets
             oldCurrentEqualizer = viewModel.getCurrentEqualizer()
+            updateEqualizer()
         }
     }
 
@@ -164,9 +166,9 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
             if (item.equalizerEntry.id == viewModel.currentEqualizerId) selectedChip = chip
             chip.setOnClickListener {
                 viewModel.currentEqualizerId = it.tag as Long
-                selectPreset()
                 fillPreamp()
                 fillBands()
+                selectPreset()
                 oldCurrentEqualizer = viewModel.getCurrentEqualizer()
             }
             binding.equalizerPresets.addView(chip)
@@ -213,7 +215,7 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
 
     fun updateEnabledState() {
         val isChecked = binding.equalizerButton.isChecked
-        Settings.getInstance(requireActivity()).edit { putBoolean("equalizer_enabled", isChecked) }
+        Settings.getInstance(requireActivity()).edit { putBoolean(KEY_EQUALIZER_ENABLED, isChecked) }
         binding.equalizerPresets.children.forEach {
             it.isEnabled = isChecked
         }
@@ -280,7 +282,6 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
         if (!fromUser) return
         viewModel.saveInHistory(-1)
         viewModel.updateCurrentPreamp(requireActivity(), binding.equalizerPreamp.value)
-        if (binding.equalizerButton.isChecked) viewModel.updateEqualizer()
     }
 
 
@@ -338,7 +339,6 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
                     newBandList.add(oldBand)
             }
 
-            if (binding.equalizerButton.isChecked) viewModel.updateEqualizer()
         }
 
         override fun onStartTrackingTouch() {
diff --git a/application/vlc-android/src/org/videolan/vlc/media/PlayerController.kt b/application/vlc-android/src/org/videolan/vlc/media/PlayerController.kt
index ee5be88de6..06e43d6b2f 100644
--- a/application/vlc-android/src/org/videolan/vlc/media/PlayerController.kt
+++ b/application/vlc-android/src/org/videolan/vlc/media/PlayerController.kt
@@ -19,6 +19,7 @@ import org.videolan.libvlc.interfaces.IVLCVout
 import org.videolan.medialibrary.interfaces.media.MediaWrapper
 import org.videolan.resources.VLCInstance
 import org.videolan.resources.VLCOptions
+import org.videolan.tools.KEY_EQUALIZER_ENABLED
 import org.videolan.tools.*
 import org.videolan.vlc.*
 import org.videolan.vlc.gui.dialogs.VideoTracksDialog
@@ -85,7 +86,7 @@ class PlayerController(val context: Context) : IVLCVout.Callback, MediaPlayer.Ev
         if (!mediaplayer.isReleased) {
             val repository = EqualizerRepository.getInstance(context)
             repository.equalizerEntries
-            withContext(Dispatchers.IO) {
+            if (Settings.getInstance(context).getBoolean(KEY_EQUALIZER_ENABLED, false)) withContext(Dispatchers.IO) {
                 mediaplayer.setEqualizer(repository.getCurrentEqualizer(context).getEqualizer())
             }
             mediaplayer.setVideoTitleDisplay(MediaPlayer.Position.Disable, 0)
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 01fe5d4f58..c03d4b79c3 100644
--- a/application/vlc-android/src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt
+++ b/application/vlc-android/src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt
@@ -34,6 +34,7 @@ import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
 import org.videolan.libvlc.MediaPlayer
 import org.videolan.tools.KEY_CURRENT_EQUALIZER_ID
+import org.videolan.tools.KEY_EQUALIZER_ENABLED
 import org.videolan.tools.Settings
 import org.videolan.vlc.PlaybackService
 import org.videolan.vlc.mediadb.models.EqualizerBand
@@ -58,7 +59,10 @@ class EqualizerViewModel(context: Context, private val equalizerRepository: Equa
         }
 
     fun updateEqualizer() {
-        PlaybackService.equalizer.value = if (settings.getBoolean("equalizer_enabled", false)) MediaPlayer.Equalizer.create() else  getCurrentEqualizer().getEqualizer()
+        if (!settings.getBoolean(KEY_EQUALIZER_ENABLED, false))
+            PlaybackService.equalizer.value = MediaPlayer.Equalizer.create()
+        else
+            PlaybackService.equalizer.value =getCurrentEqualizer().getEqualizer()
     }
 
     init {



More information about the Android mailing list