android: prevent click & long click at the same time (#2237)

This commit is contained in:
Stanislav Dmitrenko
2023-04-27 18:44:12 +03:00
committed by GitHub
parent 8630d1ab12
commit 69aa002c83
2 changed files with 11 additions and 5 deletions
@@ -228,7 +228,7 @@ fun ClickableText(
}
}
}, shouldConsumeEvent = { pos ->
var consume = false
var consume = false
layoutResult.value?.let { layoutResult ->
consume = shouldConsumeEvent(layoutResult.getOffsetForPosition(pos))
}
@@ -80,10 +80,16 @@ suspend fun PointerInputScope.detectGesture(
pressScope.release()
}
} catch (_: PointerEventTimeoutCancellationException) {
onLongPress?.invoke(down.position)
if (shouldConsume)
consumeUntilUp()
pressScope.release()
if (onLongPress != null) {
onLongPress(down.position)
if (shouldConsume)
consumeUntilUp()
pressScope.cancel()
} else {
if (shouldConsume)
consumeUntilUp()
pressScope.release()
}
}
}
}