diff --git a/ui/src/main/java/de/mm20/launcher2/ui/component/BottomSheetDialog.kt b/ui/src/main/java/de/mm20/launcher2/ui/component/BottomSheetDialog.kt index 90a81082..d86b0a29 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/component/BottomSheetDialog.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/component/BottomSheetDialog.kt @@ -36,13 +36,17 @@ fun BottomSheetDialog( actions: @Composable RowScope.() -> Unit = {}, confirmButton: @Composable (() -> Unit)? = null, dismissButton: @Composable (() -> Unit)? = null, + swipeToDismiss: () -> Boolean = { true }, content: @Composable () -> Unit, ) { val swipeState = remember { SwipeableState( initialValue = SwipeState.Dismiss, confirmStateChange = { - if (it == SwipeState.Dismiss) onDismissRequest() + if (it == SwipeState.Dismiss) { + if (swipeToDismiss()) onDismissRequest() + else return@SwipeableState false + } return@SwipeableState true } ) diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/customattrs/CustomizeSearchableSheet.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/customattrs/CustomizeSearchableSheet.kt index 00af6f28..612a2a9d 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/customattrs/CustomizeSearchableSheet.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/common/customattrs/CustomizeSearchableSheet.kt @@ -47,6 +47,7 @@ fun CustomizeSearchableSheet( title = { Text(stringResource(if (pickIcon) R.string.icon_picker_title else R.string.menu_customize)) }, + swipeToDismiss = { !pickIcon }, confirmButton = { if (pickIcon) { OutlinedButton(onClick = { viewModel.closeIconPicker() }) {