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