From e4ec538f130183c20980fe878de419351e069dfb Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Mon, 15 Dec 2025 11:30:37 -0500 Subject: [PATCH] Fix unreliable allow multiple votes toggle. --- .../ui/compose/copied/androidx/compose/DragAndDrop.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/copied/androidx/compose/DragAndDrop.kt b/core-ui/src/main/java/org/signal/core/ui/compose/copied/androidx/compose/DragAndDrop.kt index 64e72ce06e..25913c55a9 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/copied/androidx/compose/DragAndDrop.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/copied/androidx/compose/DragAndDrop.kt @@ -21,6 +21,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.graphicsLayer +import androidx.compose.ui.input.pointer.PointerInputChange import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.unit.Dp import androidx.compose.ui.zIndex @@ -127,11 +128,13 @@ internal constructor( draggingItemInitialOffset = 0 } - internal fun onDrag(offset: Offset) { + internal fun onDrag(offset: Offset, change: PointerInputChange) { if ((includeHeader && draggingItemIndex == 0) || (includeFooter && draggingItemIndex == (state.layoutInfo.totalItemsCount - 1)) ) return + change.consume() + draggingItemDraggedDelta += offset.y val draggingItem = draggingItemLayoutInfo ?: return @@ -203,8 +206,7 @@ fun Modifier.dragContainer( return pointerInput(dragDropState) { detectDragGestures( onDrag = { change, offset -> - change.consume() - dragDropState.onDrag(offset = offset) + dragDropState.onDrag(offset = offset, change = change) }, onDragStart = { offset -> dragDropState.onDragStart(offset) }, onDragEnd = { dragDropState.onDragEnd() },