[Android] Better management of the equalizer focus order
Nicolas Pomepuy
git at videolan.org
Mon Mar 3 16:07:06 UTC 2025
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Mon Mar 3 15:02:45 2025 +0100| [a4f20160b94371fcfc6674a1cb6887b826093c5d] | committer: Duncan McNamara
Better management of the equalizer focus order
> https://code.videolan.org/videolan/vlc-android/commit/a4f20160b94371fcfc6674a1cb6887b826093c5d
---
.../src/org/videolan/vlc/gui/audio/EqualizerFragment.kt | 6 +++++-
.../vlc-android/src/org/videolan/vlc/gui/view/EqualizerBar.kt | 7 +++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/audio/EqualizerFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/audio/EqualizerFragment.kt
index d32f291401..21a9beaa88 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/audio/EqualizerFragment.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/audio/EqualizerFragment.kt
@@ -175,9 +175,13 @@ class EqualizerFragment : VLCBottomSheetDialogFragment(), Slider.OnChangeListene
val params = LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT, 1f)
bar.layoutParams = params
eqBandsViews.add(bar)
+ bar.setSliderId(View.generateViewId())
bar.setListener(BandListener(i))
}
-
+ for (i in 0 until bandCount) {
+ if (i > 0) eqBandsViews[i].nextFocusLeftId = eqBandsViews[i - 1].getSliderId()
+ if (i < bandCount - 1) eqBandsViews[i].nextFocusRightId = eqBandsViews[i + 1].getSliderId()
+ }
eqBandsViews[0].nextFocusLeftId = R.id.equalizer_preamp
eqBandsViews[eqBandsViews.size - 1].nextFocusRightId = R.id.snapBands
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/view/EqualizerBar.kt b/application/vlc-android/src/org/videolan/vlc/gui/view/EqualizerBar.kt
index 1cd65410b5..94e85b11c0 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/view/EqualizerBar.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/view/EqualizerBar.kt
@@ -28,6 +28,7 @@ import android.view.LayoutInflater
import android.view.View
import android.widget.LinearLayout
import android.widget.TextView
+import androidx.annotation.IdRes
import com.google.android.material.slider.Slider
import org.videolan.vlc.R
import org.videolan.vlc.interfaces.OnEqualizerBarChangeListener
@@ -115,6 +116,12 @@ class EqualizerBar : LinearLayout {
fun getProgress(): Int = verticalSlider.value.toInt()
+ fun setSliderId(@IdRes id: Int) {
+ verticalSlider.id = id
+ }
+
+ fun getSliderId() = verticalSlider.id
+
companion object {
const val PRECISION = 10
More information about the Android
mailing list