Package-level declarations

Types

Link copied to clipboard

Visual style for ConnectionActionButton. Maps to the four canonical M3 button variants.

Link copied to clipboard
data class CurrentlyConnectedText(val unknownLabel: String, val rssiLabel: String, val disconnectLabel: String, val firmwareVersion: String?)

Plain text resolved outside the animated connected-device subtree.

Functions

Link copied to clipboard
fun ConnectingDeviceInfo(deviceName: String, deviceAddress: String, connectionStatus: ConnectionStatus, connectionProgress: String?, onClickDisconnect: () -> Unit, modifier: Modifier = Modifier)

Displays the currently connecting (or connected) device with its name, address, connection status, and a disconnect button.

Link copied to clipboard
fun ConnectionActionButton(onClick: () -> Unit, icon: ImageVector, text: String, modifier: Modifier = Modifier, style: ConnectionActionButtonStyle = ConnectionActionButtonStyle.Filled, enabled: Boolean = true, iconContentDescription: String? = null)

Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (ButtonDefaults.IconSize, ButtonDefaults.IconSpacing, and the variant-appropriate *WithIconContentPadding) so every scan / add / empty-state affordance renders identically.

Link copied to clipboard
fun CurrentlyConnectedInfo(node: Node, text: CurrentlyConnectedText, onNavigateToNodeDetails: (Int) -> Unit, onClickDisconnect: () -> Unit, modifier: Modifier = Modifier, bleDevice: DeviceListEntry.Ble? = null)
Link copied to clipboard
fun DeviceList(connectionState: ConnectionState, selectedDevice: String, bleDevices: List<DeviceListEntry>, usbDevices: List<DeviceListEntry>, discoveredTcpDevices: List<DeviceListEntry>, recentTcpDevices: List<DeviceListEntry>, isBleScanning: Boolean, isNetworkScanning: Boolean, activeTransport: DeviceType, onSelectDevice: (DeviceListEntry) -> Unit, onToggleBleScan: () -> Unit, onToggleNetworkScan: () -> Unit, onAddManualAddress: (address: String, fullAddress: String) -> Unit, onRemoveRecentAddress: (DeviceListEntry) -> Unit, modifier: Modifier = Modifier)

Unified device list: one selected BLE / Network / USB pane rendered as a scrollable LazyColumn.

Link copied to clipboard
fun DeviceListItem(connectionState: ConnectionState, device: DeviceListEntry, onSelect: () -> Unit, modifier: Modifier = Modifier, onDelete: () -> Unit? = null, rssi: Int? = null)
Link copied to clipboard
fun DeviceSectionHeader(title: String, modifier: Modifier = Modifier, showProgress: Boolean = false, trailing: @Composable () -> Unit = {})

Section header used to group content in the Connections list.

Link copied to clipboard
fun DisconnectButton(onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, label: String = stringResource(Res.string.disconnect))

Full-width error-tinted OutlinedButton used by both the "currently connected" and "connecting" card states. Centralises the color/label so every call site stays in lock-step.

Link copied to clipboard
fun EmptyStateContent(text: String, imageVector: ImageVector, modifier: Modifier = Modifier, action: @Composable () -> Unit? = null)
Link copied to clipboard
fun EventFirmwareCard(edition: EventFirmwareEdition, modifier: Modifier = Modifier)

Card announcing that the connected device is running an event firmware edition, and the entry point to EventInfoSheet for that event's welcome message, venue, dates, and links.

Link copied to clipboard
fun TransportSelector(activeTransport: DeviceType, onSelectTransport: (DeviceType) -> Unit, modifier: Modifier = Modifier)

Single-choice transport selector rendered below the connection card. A Material 3 SingleChoiceSegmentedButtonRow makes the mutually-exclusive choice explicit: the segments read as one grouped control and the selected transport shows a check, rather than three independent chips whose filled state was read as "enabled/available" instead of "selected".