Android: hide connected bridge from discovery list
This commit is contained in:
@@ -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,35 +168,42 @@ fun SettingsSheet(viewModel: MainViewModel) {
|
|||||||
|
|
||||||
item { HorizontalDivider() }
|
item { HorizontalDivider() }
|
||||||
|
|
||||||
item { Text("Discovered Bridges", style = MaterialTheme.typography.titleSmall) }
|
if (!isConnected || visibleBridges.isNotEmpty()) {
|
||||||
if (bridges.isEmpty()) {
|
item {
|
||||||
item { Text("No bridges found yet.", color = MaterialTheme.colorScheme.onSurfaceVariant) }
|
Text(
|
||||||
} else {
|
if (isConnected) "Other Bridges" else "Discovered Bridges",
|
||||||
items(items = bridges, key = { it.stableId }) { bridge ->
|
style = MaterialTheme.typography.titleSmall,
|
||||||
ListItem(
|
)
|
||||||
headlineContent = { Text(bridge.name) },
|
}
|
||||||
supportingContent = { Text("${bridge.host}:${bridge.port}") },
|
if (!isConnected && visibleBridges.isEmpty()) {
|
||||||
trailingContent = {
|
item { Text("No bridges found yet.", color = MaterialTheme.colorScheme.onSurfaceVariant) }
|
||||||
Button(
|
} else {
|
||||||
onClick = {
|
items(items = visibleBridges, key = { it.stableId }) { bridge ->
|
||||||
NodeForegroundService.start(context)
|
ListItem(
|
||||||
viewModel.connect(bridge)
|
headlineContent = { Text(bridge.name) },
|
||||||
},
|
supportingContent = { Text("${bridge.host}:${bridge.port}") },
|
||||||
) {
|
trailingContent = {
|
||||||
Text("Connect")
|
Button(
|
||||||
}
|
onClick = {
|
||||||
},
|
NodeForegroundService.start(context)
|
||||||
|
viewModel.connect(bridge)
|
||||||
|
},
|
||||||
|
) {
|
||||||
|
Text("Connect")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
item {
|
||||||
|
Text(
|
||||||
|
bridgeDiscoveryFooterText,
|
||||||
|
modifier = Modifier.fillMaxWidth(),
|
||||||
|
textAlign = TextAlign.Center,
|
||||||
|
style = MaterialTheme.typography.labelMedium,
|
||||||
|
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
item {
|
|
||||||
Text(
|
|
||||||
bridgeDiscoveryFooterText,
|
|
||||||
modifier = Modifier.fillMaxWidth(),
|
|
||||||
textAlign = TextAlign.Center,
|
|
||||||
style = MaterialTheme.typography.labelMedium,
|
|
||||||
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
item { HorizontalDivider() }
|
item { HorizontalDivider() }
|
||||||
|
|||||||
Reference in New Issue
Block a user