From 068967e6b411b4795a2bc7cda88bc0b7beb3cedb Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Mon, 12 Jun 2023 16:26:22 +0200 Subject: [PATCH] Improve note widget unfocusing --- .../launcher2/ui/component/markdown/MarkdownEditor.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/component/markdown/MarkdownEditor.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/component/markdown/MarkdownEditor.kt index 5f3b800e..dc9ae132 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/component/markdown/MarkdownEditor.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/component/markdown/MarkdownEditor.kt @@ -19,6 +19,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.focus.onFocusChanged import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.text.AnnotatedString @@ -55,10 +56,12 @@ fun MarkdownEditor( } if (focus) { + var hadFocus by remember { mutableStateOf(false) } LaunchedEffect(Unit) { focusRequester.requestFocus() } + BasicTextField( value = value, onValueChange = { @@ -101,7 +104,12 @@ fun MarkdownEditor( ) } }, - modifier = modifier.focusRequester(focusRequester), + modifier = modifier + .focusRequester(focusRequester) + .onFocusChanged { + if (it.isFocused) hadFocus = true + if (!it.isFocused && hadFocus) onFocusChange(false) + }, textStyle = MaterialTheme.typography.bodyMedium.copy( color = LocalContentColor.current, ),