Android: replace language free-text with a dropdown (auto/en/de)
Fixed list per current needs; "auto" passes null to the engine like the desktop app. Live-mode model defaults (tiny/base live, small for final) will follow with M2.
This commit is contained in:
@@ -67,7 +67,8 @@ fun MeetRecScreen() {
|
||||
|
||||
var model by remember { mutableStateOf("tiny") }
|
||||
var modelMenu by remember { mutableStateOf(false) }
|
||||
var language by remember { mutableStateOf("") }
|
||||
var language by remember { mutableStateOf("auto") }
|
||||
var langMenu by remember { mutableStateOf(false) }
|
||||
var status by remember { mutableStateOf("Select a model, download and load it.") }
|
||||
var busy by remember { mutableStateOf(false) }
|
||||
var engine by remember { mutableStateOf<WhisperEngine?>(null) }
|
||||
@@ -196,13 +197,28 @@ fun MeetRecScreen() {
|
||||
}
|
||||
}
|
||||
}
|
||||
OutlinedTextField(
|
||||
value = language,
|
||||
onValueChange = { language = it.trim() },
|
||||
label = { Text("Language") },
|
||||
placeholder = { Text("auto") },
|
||||
ExposedDropdownMenuBox(
|
||||
expanded = langMenu,
|
||||
onExpandedChange = { langMenu = it },
|
||||
modifier = Modifier.weight(1f),
|
||||
)
|
||||
) {
|
||||
OutlinedTextField(
|
||||
value = language,
|
||||
onValueChange = {},
|
||||
readOnly = true,
|
||||
label = { Text("Language") },
|
||||
trailingIcon = { ExposedDropdownMenuDefaults.TrailingIcon(langMenu) },
|
||||
modifier = Modifier.menuAnchor().fillMaxWidth(),
|
||||
)
|
||||
ExposedDropdownMenu(expanded = langMenu, onDismissRequest = { langMenu = false }) {
|
||||
LANGUAGES.forEach { code ->
|
||||
DropdownMenuItem(
|
||||
text = { Text(code) },
|
||||
onClick = { language = code; langMenu = false },
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// model actions
|
||||
@@ -279,7 +295,7 @@ fun MeetRecScreen() {
|
||||
eng.transcribe(
|
||||
samples,
|
||||
beamSize = 5,
|
||||
language = language.ifBlank { null },
|
||||
language = language.takeIf { it != "auto" },
|
||||
)
|
||||
}
|
||||
segments = segs
|
||||
@@ -326,6 +342,8 @@ fun MeetRecScreen() {
|
||||
}
|
||||
}
|
||||
|
||||
private val LANGUAGES = listOf("auto", "en", "de")
|
||||
|
||||
private fun fmtMs(ms: Long): String {
|
||||
val total = ms / 1000
|
||||
val h = total / 3600
|
||||
|
||||
Reference in New Issue
Block a user