fix: Swipy (#506)

This commit is contained in:
Dawn-used-yeet 2024-10-29 13:04:34 +05:30 committed by GitHub
parent 652ef219dd
commit f191502a97
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -159,22 +159,20 @@ class Swipy @JvmOverloads constructor(
}
private fun handleDrag(pos: Float) {
val overscroll = (pos - initialMotion) * DRAG_RATE
if (overscroll > 0) { // Keep this check
parent.requestDisallowInterceptTouchEvent(true)
if (vertical) {
val totalDragDistance = Resources.getSystem().displayMetrics.heightPixels / dragDivider
if (verticalPos == VerticalPosition.Top)
topBeingSwiped.invoke(overscroll * 2 / totalDragDistance)
else
bottomBeingSwiped.invoke(overscroll * 2 / totalDragDistance)
} else {
val totalDragDistance = Resources.getSystem().displayMetrics.widthPixels / dragDivider
if (horizontalPos == HorizontalPosition.Left)
leftBeingSwiped.invoke(overscroll / totalDragDistance)
else
rightBeingSwiped.invoke(overscroll / totalDragDistance)
}
val overscroll = abs((pos - initialMotion) * DRAG_RATE)
parent.requestDisallowInterceptTouchEvent(true)
if (vertical) {
val totalDragDistance = Resources.getSystem().displayMetrics.heightPixels / dragDivider
if (verticalPos == VerticalPosition.Top)
topBeingSwiped.invoke(overscroll * 2 / totalDragDistance)
else
bottomBeingSwiped.invoke(overscroll * 2 / totalDragDistance)
} else {
val totalDragDistance = Resources.getSystem().displayMetrics.widthPixels / dragDivider
if (horizontalPos == HorizontalPosition.Left)
leftBeingSwiped.invoke(overscroll / totalDragDistance)
else
rightBeingSwiped.invoke(overscroll / totalDragDistance)
}
}
@ -183,7 +181,7 @@ class Swipy @JvmOverloads constructor(
topBeingSwiped.invoke(0f)
bottomBeingSwiped.invoke(0f)
} else {
rightBeingSwiped.invoke( 0f)
rightBeingSwiped.invoke(0f)
leftBeingSwiped.invoke(0f)
}
}