From c5f592bbe7974bad4917eb6e381883d5b4da295b Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Tue, 27 Apr 2021 02:39:14 -0400 Subject: [PATCH] Allow extensions/migration sheet to be dragged down while recycler is settling --- .../tachiyomi/ui/extension/RecyclerWithScrollerView.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/extension/RecyclerWithScrollerView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/extension/RecyclerWithScrollerView.kt index b75cd5d178..d9ff8f64b0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/extension/RecyclerWithScrollerView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/extension/RecyclerWithScrollerView.kt @@ -22,7 +22,12 @@ class RecyclerWithScrollerView @JvmOverloads constructor(context: Context, attrs binding.recycler.addOnScrollListener(object : RecyclerView.OnScrollListener() { override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) { super.onScrollStateChanged(recyclerView, newState) - if (sheet.isOnView(this@RecyclerWithScrollerView) && newState == RecyclerView.SCROLL_STATE_IDLE) { + if (sheet.isOnView(this@RecyclerWithScrollerView) && + ( + newState == RecyclerView.SCROLL_STATE_IDLE || + newState == RecyclerView.SCROLL_STATE_SETTLING + ) + ) { sheet.sheetBehavior?.isDraggable = true } } @@ -31,7 +36,8 @@ class RecyclerWithScrollerView @JvmOverloads constructor(context: Context, attrs super.onScrolled(recyclerView, dx, dy) if (sheet.isOnView(this@RecyclerWithScrollerView) && sheet.sheetBehavior.isExpanded() && - recyclerView.canScrollVertically(-1) + recyclerView.canScrollVertically(-1) && + recyclerView.scrollState != RecyclerView.SCROLL_STATE_SETTLING ) { sheet.sheetBehavior?.isDraggable = false }