[Android] Equalizer: fix the focus when current equalizer changes
Nicolas Pomepuy
git at videolan.org
Thu Jun 4 12:32:45 UTC 2026
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Thu Jun 4 12:16:16 2026 +0200| [cc8cc68826177aec4f9ea9bcdc5e7c13b8d41a23] | committer: Nicolas Pomepuy
Equalizer: fix the focus when current equalizer changes
> https://code.videolan.org/videolan/vlc-android/commit/cc8cc68826177aec4f9ea9bcdc5e7c13b8d41a23
---
.../src/org/videolan/vlc/gui/dialogs/EqualizerFragmentDialog.kt | 7 ++++++-
.../src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt | 3 +++
2 files changed, 9 insertions(+), 1 deletion(-)
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 dc179ed282..31d8c4a839 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
@@ -241,7 +241,8 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
chip.text = item.equalizerEntry.name
chip.tag = item.equalizerEntry.id
chip.isCheckable = true
- chip.nextFocusDownId = if (item.equalizerEntry.presetIndex == -1) R.id.edit else R.id.preset_title_edit
+ val isCurrentCustom = viewModel.isCurrentEqCustom()
+ chip.nextFocusDownId = if (!isCurrentCustom) R.id.edit else R.id.preset_title_edit
if (item.equalizerEntry.presetIndex == -1) chip.setChipBackgroundColorResource(R.color.orange_800_transparent_10)
if (item.equalizerEntry.id == viewModel.currentEqualizerId) {
selectedChip = chip
@@ -256,6 +257,10 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
fillBands()
selectPreset()
oldCurrentEqualizer = viewModel.getCurrentEqualizer()
+ val isCurrentCustom = viewModel.isCurrentEqCustom()
+ binding.equalizerPresets.children.forEach {
+ it.nextFocusDownId = if (!isCurrentCustom) R.id.edit else R.id.preset_title_edit
+ }
}
binding.equalizerPresets.addView(chip)
}
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 27ff875a33..f5420a6fd8 100644
--- a/application/vlc-android/src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt
+++ b/application/vlc-android/src/org/videolan/vlc/viewmodels/EqualizerViewModel.kt
@@ -91,6 +91,9 @@ class EqualizerViewModel(context: Context, private val equalizerRepository: Equa
currentEqualizerIdLive.postValue(value)
}
+ fun isCurrentEqCustom() =
+ equalizerEntries.value?.firstOrNull { it.equalizerEntry.id == currentEqualizerId }?.equalizerEntry?.presetIndex == -1
+
fun updateEqualizer() {
if (!settings.getBoolean(KEY_EQUALIZER_ENABLED, false))
PlaybackService.equalizer.value = MediaPlayer.Equalizer.create()
More information about the Android
mailing list