From b54a53d5d67b10cb7fe37ad378ae070d6e70cb6b Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Thu, 7 Sep 2023 22:17:44 +0200 Subject: [PATCH] Don't intercept touch events when popup is already disappearing --- .../launcher/search/common/grid/GridItem.kt | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/grid/GridItem.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/grid/GridItem.kt index 32918bdb..1792d2be 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/grid/GridItem.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/grid/GridItem.kt @@ -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( (