Fixed transfer URI suggestions handling

This commit is contained in:
Juha Heinanen
2025-04-08 12:28:37 +03:00
parent f3da8288b9
commit a64ea0b69d

View File

@ -1214,33 +1214,33 @@ class MainActivity : ComponentActivity() {
modifier = Modifier.padding(16.dp), modifier = Modifier.padding(16.dp),
color = LocalCustomColors.current.primary, color = LocalCustomColors.current.primary,
) )
var uri 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(suggestions) }
var showSuggestions by remember { mutableStateOf(false) } var showSuggestions by remember { mutableStateOf(false) }
val focusRequester = remember { FocusRequester() } val focusRequester = remember { FocusRequester() }
val lazyListState = rememberLazyListState() val lazyListState = rememberLazyListState()
OutlinedTextField( OutlinedTextField(
value = uri, value = transferUri,
singleLine = true, singleLine = true,
onValueChange = { onValueChange = {
uri = it transferUri = it
showSuggestions = uri.isNotEmpty() showSuggestions = transferUri.isNotEmpty()
filteredSuggestions = if (uri.isEmpty()) filteredSuggestions = if (transferUri.isEmpty())
suggestions suggestions
else else
suggestions.filter { suggestion -> suggestions.filter { suggestion ->
uri.length > 2 && suggestion.startsWith(uri, transferUri.length > 2 &&
ignoreCase = true) suggestion.startsWith(transferUri, ignoreCase = true)
} }
}, },
trailingIcon = { trailingIcon = {
if (uri.isNotEmpty()) if (transferUri.isNotEmpty())
Icon( Icon(
Icons.Outlined.Clear, Icons.Outlined.Clear,
contentDescription = null, contentDescription = null,
modifier = Modifier.clickable { modifier = Modifier.clickable {
uri = "" transferUri = ""
showSuggestions = false showSuggestions = false
} }
) )
@ -1303,7 +1303,7 @@ class MainActivity : ComponentActivity() {
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.clickable { .clickable {
callUri.value = suggestion transferUri = suggestion
showSuggestions = false showSuggestions = false
} }
.padding(12.dp) .padding(12.dp)
@ -1365,7 +1365,7 @@ class MainActivity : ComponentActivity() {
} }
TextButton( TextButton(
onClick = { onClick = {
var uriText = uri.trim() var uriText = transferUri.trim()
if (uriText.isNotEmpty()) { if (uriText.isNotEmpty()) {
val uris = Contact.contactUris(uriText) val uris = Contact.contactUris(uriText)
if (uris.size > 1) { if (uris.size > 1) {