Don't intercept touch events when popup is already disappearing

This commit is contained in:
MM20 2023-09-07 22:17:44 +02:00
parent 5fae7ff0c4
commit b54a53d5d6
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389

View File

@ -215,11 +215,17 @@ fun ItemPopup(origin: Rect, searchable: Searchable, onDismissRequest: () -> Unit
.systemBarsPadding() .systemBarsPadding()
.imePadding() .imePadding()
.padding(horizontal = 16.dp) .padding(horizontal = 16.dp)
.pointerInput(Unit) { .then(
detectTapGestures(onPress = { if (show.targetState ) {
show.targetState = false Modifier.pointerInput(Unit) {
}) detectTapGestures(onPress = {
}, show.targetState = false
})
}
} else {
Modifier
}
)
) { ) {
LauncherCard( LauncherCard(
elevation = 8.dp * animationProgress.value, elevation = 8.dp * animationProgress.value,
@ -330,10 +336,6 @@ private fun Modifier.placeOverlay(
): Modifier { ): Modifier {
return layout { measurable, constraints -> return layout { measurable, constraints ->
val placeable = measurable.measure(constraints) val placeable = measurable.measure(constraints)
Log.d(
"MM20",
"Layout: maxWidth: ${constraints.maxWidth}, origin: $origin, placeable: ${placeable.width}"
)
layout(constraints.maxWidth, constraints.maxHeight) { layout(constraints.maxWidth, constraints.maxHeight) {
placeable.placeRelative( placeable.placeRelative(
( (