[Android] Equalizer: focus the preset when hitting back on eq bands
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 13:54:14 2026 +0200| [957ab84c2a2e735c52e980ff30a3ee85d9fa4bec] | committer: Nicolas Pomepuy
Equalizer: focus the preset when hitting back on eq bands
> https://code.videolan.org/videolan/vlc-android/commit/957ab84c2a2e735c52e980ff30a3ee85d9fa4bec
---
.../vlc/gui/dialogs/EqualizerFragmentDialog.kt | 21 ++++++++++++++++++++-
1 file changed, 20 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 31d8c4a839..34538273a0 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
@@ -34,7 +34,8 @@ import android.view.ViewGroup
import android.view.ViewGroup.LayoutParams
import android.widget.HorizontalScrollView
import android.widget.LinearLayout
-import androidx.appcompat.app.AlertDialog
+import androidx.activity.ComponentDialog
+import androidx.activity.OnBackPressedCallback
import androidx.core.content.edit
import androidx.core.view.children
import androidx.core.view.isEmpty
@@ -104,8 +105,26 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
return binding.root
}
+ private val backPressedCallback = object : OnBackPressedCallback(true) {
+ override fun handleOnBackPressed() {
+ if (handleBack()) return
+ dismiss()
+ }
+ }
+
+ private fun handleBack(): Boolean {
+ if (eqBandsViews.any { it.hasFocus() }) {
+ binding.equalizerPresets.children.forEach {
+ if ((it as Chip).isChecked) it.requestFocus()
+ }
+ return true
+ }
+ return false
+ }
+
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
+ (dialog as? ComponentDialog)?.onBackPressedDispatcher?.addCallback(viewLifecycleOwner, backPressedCallback)
if (requireActivity() is EqualizerSettingsActivity) {
binding.equalizerSettings.setGone()
}
More information about the Android
mailing list