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()
.imePadding()
.padding(horizontal = 16.dp)
.pointerInput(Unit) {
detectTapGestures(onPress = {
show.targetState = false
})
},
.then(
if (show.targetState ) {
Modifier.pointerInput(Unit) {
detectTapGestures(onPress = {
show.targetState = false
})
}
} else {
Modifier
}
)
) {
LauncherCard(
elevation = 8.dp * animationProgress.value,
@ -330,10 +336,6 @@ private fun Modifier.placeOverlay(
): Modifier {
return layout { measurable, constraints ->
val placeable = measurable.measure(constraints)
Log.d(
"MM20",
"Layout: maxWidth: ${constraints.maxWidth}, origin: $origin, placeable: ${placeable.width}"
)
layout(constraints.maxWidth, constraints.maxHeight) {
placeable.placeRelative(
(