From 65c72dcc5e2bee9df88033c2283cea985ebbe578 Mon Sep 17 00:00:00 2001 From: Shrouk Mohamed <96442266+ShroukMohamed16@users.noreply.github.com> Date: Fri, 22 Aug 2025 01:03:50 +0300 Subject: [PATCH] feat: implement language-aware voice search --- .../screen/explore/component/VoiceRecognizerIcon.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/presentation/src/main/java/com/moscow/cineverse/screen/explore/component/VoiceRecognizerIcon.kt b/presentation/src/main/java/com/moscow/cineverse/screen/explore/component/VoiceRecognizerIcon.kt index bb59555fa..61c115e8a 100644 --- a/presentation/src/main/java/com/moscow/cineverse/screen/explore/component/VoiceRecognizerIcon.kt +++ b/presentation/src/main/java/com/moscow/cineverse/screen/explore/component/VoiceRecognizerIcon.kt @@ -10,12 +10,15 @@ import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import com.moscow.cineverse.designSystem.theme.CineVerseTheme import com.moscow.cineverse.designSystem.theme.Theme import com.moscow.cinverse.presentation.R +import org.intellij.lang.annotations.Language +import androidx.compose.ui.platform.LocalConfiguration @Composable fun VoiceRecognitionIcon( @@ -24,8 +27,9 @@ fun VoiceRecognitionIcon( modifier: Modifier = Modifier, @StringRes prompt: Int = R.string.speak_to_search, maxResults: Int = 5, - enabled: Boolean = true + enabled: Boolean = true, ) { + val currentLocale = LocalConfiguration.current.locales[0] val launcher = rememberLauncherForActivityResult( contract = ActivityResultContracts.StartActivityForResult() ) { activityResult -> @@ -47,6 +51,10 @@ fun VoiceRecognitionIcon( RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM ) + putExtra( + RecognizerIntent.EXTRA_LANGUAGE, + currentLocale.toLanguageTag() + ) putExtra(RecognizerIntent.EXTRA_PROMPT, prompt) putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, maxResults) }