mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-02-16 12:58:29 +00:00
Fixed fast scroll button crashing while scrolling to undefined position
This commit is contained in:
parent
70cb52b2c7
commit
dd76a74e1c
@ -186,10 +186,18 @@ fun setHidden(view: FloatingActionButton, hide: Boolean) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@BindingAdapter("scrollPosition", "scrollPositionSmooth", requireAll = false)
|
@BindingAdapter("scrollPosition", "scrollPositionSmooth", requireAll = false)
|
||||||
fun setScrollPosition(view: RecyclerView, position: Int, smoothScroll: Boolean) = when {
|
fun setScrollPosition(view: RecyclerView, position: Int, smoothScroll: Boolean) {
|
||||||
|
val adapterItemCount = view.adapter?.itemCount ?: -1
|
||||||
|
if (position !in 0 until adapterItemCount) {
|
||||||
|
// the position is not in adapter bounds, adapter will throw exception for invalid positions
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
when {
|
||||||
smoothScroll -> view.smoothScrollToPosition(position)
|
smoothScroll -> view.smoothScrollToPosition(position)
|
||||||
else -> view.scrollToPosition(position)
|
else -> view.scrollToPosition(position)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@BindingAdapter("recyclerScrollEvent")
|
@BindingAdapter("recyclerScrollEvent")
|
||||||
fun setScrollListener(view: RecyclerView, listener: InverseBindingListener) {
|
fun setScrollListener(view: RecyclerView, listener: InverseBindingListener) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user