Improved showing of transfer destination suggestions

This commit is contained in:
Juha Heinanen
2026-01-19 23:35:51 +02:00
parent d9dc61c169
commit 6bfb246565

View File

@ -1603,7 +1603,7 @@ private fun CallRow(
)
var transferUri by remember { mutableStateOf("") }
val suggestions by remember { contactNames }
var filteredSuggestions by remember { mutableStateOf(suggestions) }
var filteredSuggestions by remember { mutableStateOf<List<AnnotatedString>>(emptyList()) }
val focusRequester = remember { FocusRequester() }
val lazyListState = rememberLazyListState()
OutlinedTextField(
@ -1612,13 +1612,17 @@ private fun CallRow(
onValueChange = {
if (it != transferUri) {
transferUri = it
val normalizedInput = Utils.unaccent(it)
filteredSuggestions =
suggestions.filter { suggestion ->
transferUri.length > 1 &&
Utils.unaccent(suggestion)
.contains(normalizedInput, ignoreCase = true)
}
if (it.length > 1) {
val normalizedInput = Utils.unaccent(it)
filteredSuggestions =
suggestions.filter { suggestion ->
Utils.unaccent(suggestion)
.contains(normalizedInput, ignoreCase = true)
}
.map { suggestion ->
Utils.buildAnnotatedStringWithHighlight(suggestion, it)
}
}
call.showSuggestions.value = transferUri.length > 1
}
},
@ -1679,15 +1683,14 @@ private fun CallRow(
) {
items(
items = filteredSuggestions,
key = { suggestion -> suggestion }
key = { suggestion -> suggestion.toString() }
) { suggestion ->
Box(
modifier = Modifier
.fillMaxWidth()
.clickable {
transferUri = suggestion
call.showSuggestions.value =
false
transferUri = suggestion.toString()
call.showSuggestions.value = false
}
.padding(12.dp)
) {