Package-level declarations

Types

Link copied to clipboard
open class BaseMapViewModel(mapPrefs: MapPrefs, nodeRepository: NodeRepository, packetRepository: PacketRepository, radioController: RadioController) : ViewModel

Shared base ViewModel for the map feature, providing node data, waypoints, map filter preferences, and traceroute overlay state.

Link copied to clipboard
Link copied to clipboard
class SharedMapViewModel(mapPrefs: MapPrefs, nodeRepository: NodeRepository, packetRepository: PacketRepository, radioController: RadioController) : BaseMapViewModel
Link copied to clipboard
data class TracerouteNodeSelection(val overlayNodeNums: Set<Int>, val nodesForMarkers: List<Node>, val nodeLookup: Map<Int, Node>)

Result of resolving a TracerouteOverlay's node nums into displayable Node instances.

Functions

Link copied to clipboard
fun MapScreen(onClickNodeChip: (Int) -> Unit, navigateToNodeDetails: (Int) -> Unit, modifier: Modifier = Modifier, viewModel: SharedMapViewModel, waypointId: Int? = null)
Link copied to clipboard
fun tracerouteNodeSelection(tracerouteOverlay: TracerouteOverlay?, tracerouteNodePositions: Map<Int, Position>, nodes: List<Node>, getNodeOrFallback: (Int) -> Node): TracerouteNodeSelection

Resolves traceroute overlay node nums into displayable Node instances. Snapshot positions (recorded at traceroute time) take priority over live positions from the node database.

Link copied to clipboard
fun BaseMapViewModel.tracerouteNodeSelection(tracerouteOverlay: TracerouteOverlay?, tracerouteNodePositions: Map<Int, Position>, nodes: List<Node>): TracerouteNodeSelection

Convenience extension that delegates to tracerouteNodeSelection using the VM's getNodeOrFallback.