Skip to content

Commit aa63151

Browse files
committed
library: PullToRefresh: Optimize nested scrolling logic again
1 parent 3de538b commit aa63151

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/PullToRefresh.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,9 @@ fun PullToRefresh(
137137
awaitPointerEventScope {
138138
while (true) {
139139
val event = awaitPointerEvent()
140-
if (event.changes.all { !it.pressed }) {
140+
if (pullToRefreshState.refreshState != RefreshState.RefreshComplete
141+
&& event.changes.all { !it.pressed }
142+
) {
141143
coroutineScope.launch {
142144
pullToRefreshState.handlePointerRelease(onRefresh)
143145
}
@@ -341,8 +343,8 @@ class PullToRefreshState(
341343
private suspend fun internalResetState() {
342344
dragOffsetAnimatable.snapTo(0f)
343345
rawDragOffset = 0f
344-
isRefreshingInProgress = false
345346
isTriggerRefresh = false
347+
isRefreshingInProgress = false
346348
internalRefreshState = RefreshState.Idle
347349
}
348350

@@ -378,7 +380,6 @@ class PullToRefreshState(
378380
override fun onPostScroll(
379381
consumed: Offset, available: Offset, source: NestedScrollSource
380382
): Offset {
381-
if (overScrollState.isOverScrollActive) return Offset.Zero
382383

383384
// If the refresh is in progress, consume all scroll events.
384385
if (refreshState == RefreshState.RefreshComplete

0 commit comments

Comments
 (0)