Skip to content

Commit 13f8adc

Browse files
committed
fix(card-browser): crash on swipe if no rows
cause: ebdc576 `coerceIn(0, recyclerView.adapter!!.itemCount - 1)` crashed if there was 0 items
1 parent 7d13c3c commit 13f8adc

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

AnkiDroid/src/main/java/com/ichi2/anki/ui/RecyclerFastScroller.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@ class RecyclerFastScroller
192192
event: MotionEvent,
193193
): Boolean {
194194
val recyclerView = requireNotNull(recyclerView)
195+
val recyclerViewAdapter = recyclerView.adapter
196+
if (recyclerViewAdapter == null || recyclerViewAdapter.itemCount == 0) return false
195197

196198
onHandleTouchListener?.onTouch(v, event)
197199
if (event.actionMasked == MotionEvent.ACTION_DOWN) {
@@ -214,9 +216,9 @@ class RecyclerFastScroller
214216

215217
val scrollProportion = newHandlePressedYAdjustedToInitial / initialBarHeight
216218
val targetPosition =
217-
(scrollProportion * recyclerView.adapter!!.itemCount)
219+
(scrollProportion * recyclerViewAdapter.itemCount)
218220
.toInt()
219-
.coerceIn(0, recyclerView.adapter!!.itemCount - 1)
221+
.coerceIn(0, recyclerViewAdapter.itemCount - 1)
220222

221223
try {
222224
recyclerView.scrollToPosition(targetPosition)

0 commit comments

Comments
 (0)