diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt index 4f61b13fb5..5a3ee1c8a0 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt @@ -410,6 +410,14 @@ fun TextComposer( SoftKeyboardEffect(showTextFormatting, onRequestFocus) { it } + // Re-focus the text input when voice recording ends so the user can continue typing + var previousVoiceMessageState by remember { mutableStateOf(voiceMessageState) } + LaunchedEffect(voiceMessageState) { + if (voiceMessageState is VoiceMessageState.Idle && previousVoiceMessageState !is VoiceMessageState.Idle) { + onRequestFocus() + } + previousVoiceMessageState = voiceMessageState + } val latestOnReceiveSuggestion by rememberUpdatedState(onReceiveSuggestion) if (state is TextEditorState.Rich) {