[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