From bf9b842407284b504d2740dc08dc548fbfc8d2bf Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Fri, 3 Jan 2025 14:44:17 -0700 Subject: [PATCH] list: implement fast scroll thumb disabling --- .../auxio/list/recycler/FastScrollRecyclerView.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/list/recycler/FastScrollRecyclerView.kt b/app/src/main/java/org/oxycblt/auxio/list/recycler/FastScrollRecyclerView.kt index c11afcfff..511f86b4a 100644 --- a/app/src/main/java/org/oxycblt/auxio/list/recycler/FastScrollRecyclerView.kt +++ b/app/src/main/java/org/oxycblt/auxio/list/recycler/FastScrollRecyclerView.kt @@ -99,14 +99,14 @@ constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr private var dragStartY = 0f private var dragStartThumbOffset = 0 - private var thumbEnabled = false + var thumbEnabled = false set(value) { if (field == value) { return } field = value - if (value) { + if (!value) { removeCallbacks(hideThumbRunnable) hideScrollbar() } @@ -221,6 +221,10 @@ constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr } private fun onItemTouch(event: MotionEvent): Boolean { + if (!thumbEnabled) { + dragging = false + return false + } val eventX = event.x val eventY = event.y @@ -299,6 +303,9 @@ constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr } private fun showScrollbar() { + if (!thumbEnabled) { + return + } if (showingThumb) { return }