Improved showing of transfer destination suggestions
This commit is contained in:
@ -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)
|
||||
) {
|
||||
|
||||
Reference in New Issue
Block a user