From 8f53297eea15e2360db4959f0df671fc33e3bd3e Mon Sep 17 00:00:00 2001 From: Aleksandras Kostarevas Date: Thu, 31 Aug 2023 19:33:24 +0300 Subject: [PATCH] Make full action window clickable --- .../latin/uix/actions/VoiceInputAction.kt | 12 +++++++++++- .../org/futo/voiceinput/shared/AudioRecognizer.kt | 1 + .../org/futo/voiceinput/shared/RecognizerView.kt | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/java/src/org/futo/inputmethod/latin/uix/actions/VoiceInputAction.kt b/java/src/org/futo/inputmethod/latin/uix/actions/VoiceInputAction.kt index d6f38a76d..1a2539c13 100644 --- a/java/src/org/futo/inputmethod/latin/uix/actions/VoiceInputAction.kt +++ b/java/src/org/futo/inputmethod/latin/uix/actions/VoiceInputAction.kt @@ -1,5 +1,7 @@ package org.futo.inputmethod.latin.uix.actions +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope @@ -7,6 +9,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.futo.inputmethod.latin.R @@ -71,7 +74,14 @@ val VoiceInputAction = Action( @Composable override fun WindowContents() { - Box(modifier = Modifier.fillMaxSize()) { + Box(modifier = Modifier.fillMaxSize().clickable( + enabled = true, + onClickLabel = null, + onClick = { recognizerView.finish() }, + role = null, + indication = null, + interactionSource = remember { MutableInteractionSource() } + )) { Box(modifier = Modifier.align(Alignment.Center)) { recognizerView.Content() } diff --git a/voiceinput-shared/src/main/java/org/futo/voiceinput/shared/AudioRecognizer.kt b/voiceinput-shared/src/main/java/org/futo/voiceinput/shared/AudioRecognizer.kt index b819a87ec..e27866ed9 100644 --- a/voiceinput-shared/src/main/java/org/futo/voiceinput/shared/AudioRecognizer.kt +++ b/voiceinput-shared/src/main/java/org/futo/voiceinput/shared/AudioRecognizer.kt @@ -102,6 +102,7 @@ class AudioRecognizer( } fun finish() { + if(!isRecording) return onFinishRecording() } diff --git a/voiceinput-shared/src/main/java/org/futo/voiceinput/shared/RecognizerView.kt b/voiceinput-shared/src/main/java/org/futo/voiceinput/shared/RecognizerView.kt index 06b90d27e..d37b9be18 100644 --- a/voiceinput-shared/src/main/java/org/futo/voiceinput/shared/RecognizerView.kt +++ b/voiceinput-shared/src/main/java/org/futo/voiceinput/shared/RecognizerView.kt @@ -112,6 +112,10 @@ class RecognizerView( } } + fun finish() { + recognizer.finish() + } + fun cancel() { recognizer.cancel() }