diff --git a/presentation-core/src/main/java/tachiyomi/presentation/core/components/AdaptiveSheet.kt b/presentation-core/src/main/java/tachiyomi/presentation/core/components/AdaptiveSheet.kt index eea05b4ca..51fb672ee 100644 --- a/presentation-core/src/main/java/tachiyomi/presentation/core/components/AdaptiveSheet.kt +++ b/presentation-core/src/main/java/tachiyomi/presentation/core/components/AdaptiveSheet.kt @@ -167,7 +167,10 @@ fun AdaptiveSheet( .offset { IntOffset( 0, - anchoredDraggableState.offset.takeIf { it.isFinite() }?.roundToInt() ?: 0, + anchoredDraggableState.offset + .takeIf { it.isFinite() } + ?.roundToInt() + ?: 0, ) } .anchoredDraggable( @@ -238,8 +241,13 @@ private fun AnchoredDraggableState.preUpPostDownNestedScrollConnection() } override suspend fun onPostFling(consumed: Velocity, available: Velocity): Velocity { - settle(velocity = available.toFloat()) - return available + val toFling = available.toFloat() + return if (toFling > 0) { + settle(toFling) + available + } else { + Velocity.Zero + } } private fun Float.toOffset(): Offset = Offset(0f, this)