Skip to content

Commit d43b21e

Browse files
committed
Fix TTS voice sorting and display
1 parent f6890c2 commit d43b21e

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

composeApp/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
33
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
44

5-
val version = "1.0.43"
5+
val version = "1.0.44"
66
val versionNumber = getVersionInt()
77

88
plugins {

composeApp/src/androidMain/kotlin/platformSpecific/tts/TtsHelperImpl.kt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ object TtsHelperImpl : TtsHelper {
5454

5555
override fun getVoices(): List<TtsVoice> {
5656
return tts.voices.orEmpty()
57-
.sortedBy { it.name }
57+
.sortedBy { it.name.lowercase() }
5858
.map { getTtsVoice(it.name) }
5959
.filter { it.locale?.language == "en" }
6060
}
@@ -115,7 +115,16 @@ object TtsHelperImpl : TtsHelper {
115115
sections[0],
116116
sections[1]
117117
)
118-
val description = sections.drop(2).filter { it.length > 1 }.joinToString(" ")
118+
val description = sections.drop(2)
119+
.filter { it.length > 1 }
120+
.mapIndexed { index, string ->
121+
if (index != 0) return@mapIndexed string
122+
123+
string.mapIndexed { index, char ->
124+
if (index == 0) char.uppercase() else char
125+
}
126+
}
127+
.joinToString(" ")
119128
val name = "${locale.displayName} $description"
120129

121130
return TtsVoice(

composeApp/src/commonMain/kotlin/presentation/settings/tts/TtsVoiceSelectionView.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ fun TtsVoiceSelectionView(
3737
ttsHelper?.let { ttsHelper ->
3838
selectedTtsVoice = voice
3939
ttsHelper.setVoice(voice)
40-
ttsHelper.speak("Hello! This is ${voice.id} speaking.")
40+
ttsHelper.speak("Hello! This is ${voice.name} speaking.")
4141
} ?: onDismiss()
4242
}
4343

@@ -73,7 +73,7 @@ fun VoiceRow(
7373
onClick = null,
7474
)
7575
Spacer(modifier = Modifier.width(8.dp))
76-
Column {
76+
Column(Modifier.weight(1f)) {
7777
Text(
7878
text = voice.name ?: voice.id,
7979
style = MaterialTheme.typography.subtitle1,
@@ -83,6 +83,7 @@ fun VoiceRow(
8383
}
8484
Spacer(modifier = Modifier.width(8.dp))
8585
Text(
86+
modifier = Modifier.width(150.dp),
8687
text = voice.locale?.displayName.orEmpty(),
8788
style = MaterialTheme.typography.subtitle2,
8889
color = AppColor.onCard()

0 commit comments

Comments
 (0)