Android: hide connected bridge from discovery list

This commit is contained in:
Peter Steinberger
2025-12-18 02:37:37 +01:00
parent cd719a8c85
commit ce1a8d70d9

View File

@@ -103,11 +103,20 @@ fun SettingsSheet(viewModel: MainViewModel) {
} }
} }
val bridgeDiscoveryFooterText = val visibleBridges =
if (bridges.isEmpty()) { if (isConnected && remoteAddress != null) {
discoveryStatusText bridges.filterNot { "${it.host}:${it.port}" == remoteAddress }
} else { } else {
"Discovery active • ${bridges.size} bridge${if (bridges.size == 1) "" else "s"} found" bridges
}
val bridgeDiscoveryFooterText =
if (visibleBridges.isEmpty()) {
discoveryStatusText
} else if (isConnected) {
"Discovery active • ${visibleBridges.size} other bridge${if (visibleBridges.size == 1) "" else "s"} found"
} else {
"Discovery active • ${visibleBridges.size} bridge${if (visibleBridges.size == 1) "" else "s"} found"
} }
LazyColumn( LazyColumn(
@@ -159,11 +168,17 @@ fun SettingsSheet(viewModel: MainViewModel) {
item { HorizontalDivider() } item { HorizontalDivider() }
item { Text("Discovered Bridges", style = MaterialTheme.typography.titleSmall) } if (!isConnected || visibleBridges.isNotEmpty()) {
if (bridges.isEmpty()) { item {
Text(
if (isConnected) "Other Bridges" else "Discovered Bridges",
style = MaterialTheme.typography.titleSmall,
)
}
if (!isConnected && visibleBridges.isEmpty()) {
item { Text("No bridges found yet.", color = MaterialTheme.colorScheme.onSurfaceVariant) } item { Text("No bridges found yet.", color = MaterialTheme.colorScheme.onSurfaceVariant) }
} else { } else {
items(items = bridges, key = { it.stableId }) { bridge -> items(items = visibleBridges, key = { it.stableId }) { bridge ->
ListItem( ListItem(
headlineContent = { Text(bridge.name) }, headlineContent = { Text(bridge.name) },
supportingContent = { Text("${bridge.host}:${bridge.port}") }, supportingContent = { Text("${bridge.host}:${bridge.port}") },
@@ -189,6 +204,7 @@ fun SettingsSheet(viewModel: MainViewModel) {
color = MaterialTheme.colorScheme.onSurfaceVariant, color = MaterialTheme.colorScheme.onSurfaceVariant,
) )
} }
}
item { HorizontalDivider() } item { HorizontalDivider() }