Package-level declarations

Types

Link copied to clipboard
class AdminPacketHandlerImpl(nodeManager: NodeManager, configHandler: Lazy<MeshConfigHandler>, configFlowManager: Lazy<MeshConfigFlowManager>, sessionManager: SessionManager) : AdminPacketHandler

Implementation of AdminPacketHandler that processes admin messages, including session passkeys, device/module configuration, and metadata.

Link copied to clipboard
class CommandSenderImpl(packetHandler: PacketHandler, nodeManager: NodeManager, radioConfigRepository: RadioConfigRepository, tracerouteHandler: TracerouteHandler, neighborInfoHandler: NeighborInfoHandler, sessionManager: SessionManager, scope: CoroutineScope) : CommandSender
Link copied to clipboard

Centralized heartbeat sender for the data layer.

Link copied to clipboard
class FromRadioPacketHandlerImpl(serviceStateWriter: ServiceStateWriter, configFlowManager: Lazy<MeshConfigFlowManager>, configHandler: Lazy<MeshConfigHandler>, xmodemManager: Lazy<XModemManager>, mqttManager: MqttManager, packetHandler: PacketHandler, notificationManager: NotificationManager, lockdownCoordinator: LockdownCoordinator) : FromRadioPacketHandler

Implementation of FromRadioPacketHandler that dispatches FromRadio variants to specialized handlers.

Link copied to clipboard

In-memory inside/outside state per (waypointId, nodeNum). NOT persisted: a relaunch re-baselines, which is exactly what prevents spurious alerts at startup. Mutated from the service scope as positions arrive, so guarded by a Mutex.

Link copied to clipboard
class GeofenceMonitor(packetRepository: Lazy<PacketRepository>, nodeManager: NodeManager, serviceNotifications: MeshNotificationManager, crossingStore: GeofenceCrossingStore, notificationPrefs: NotificationPrefs, scope: CoroutineScope)

Raises a LOCAL notification when another mesh node's reported position crosses a waypoint's geofence. Evaluation runs against OTHER nodes' positions arriving over the mesh — never the device's own location — so this is manual point-in-region math, NOT the OS Geofencing API.

Link copied to clipboard

The transition observed when a node's inside/outside state for a geofence is updated.

Link copied to clipboard
class HistoryManagerImpl(meshPrefs: MeshPrefs, packetHandler: PacketHandler) : HistoryManager
Link copied to clipboard
class LockdownCoordinatorImpl(serviceRepository: ServiceRepository, commandSender: CommandSender, passphraseStore: LockdownPassphraseStore, radioInterfaceService: RadioInterfaceService, connectionManager: Lazy<MeshConnectionManager>) : LockdownCoordinator

Lockdown authentication state machine. Processes LockdownStatus messages from the firmware, drives the LockdownState exposed to the UI, and manages auto-replay of cached passphrases.

Link copied to clipboard
class MeshConfigFlowManagerImpl(nodeManager: NodeManager, connectionManager: Lazy<MeshConnectionManager>, nodeRepository: NodeRepository, radioConfigRepository: RadioConfigRepository, serviceStateWriter: ServiceStateWriter, analytics: PlatformAnalytics, commandSender: CommandSender, heartbeatSender: DataLayerHeartbeatSender, notificationPrefs: NotificationPrefs, scope: CoroutineScope) : MeshConfigFlowManager
Link copied to clipboard
class MeshConfigHandlerImpl(radioConfigRepository: RadioConfigRepository, serviceStateWriter: ServiceStateWriter, nodeManager: NodeManager, connectionManager: Lazy<MeshConnectionManager>, scope: CoroutineScope) : MeshConfigHandler
Link copied to clipboard
class MeshConnectionManagerImpl(radioInterfaceService: RadioInterfaceService, serviceRepository: ServiceRepository, serviceNotifications: MeshNotificationManager, uiPrefs: UiPrefs, packetHandler: PacketHandler, nodeRepository: NodeRepository, locationManager: MeshLocationManager, mqttManager: MqttManager, historyManager: HistoryManager, radioConfigRepository: RadioConfigRepository, commandSender: CommandSender, sessionManager: SessionManager, nodeManager: NodeManager, analytics: PlatformAnalytics, packetRepository: PacketRepository, workerManager: MeshWorkerManager, appWidgetUpdater: AppWidgetUpdater, heartbeatSender: DataLayerHeartbeatSender, lockdownCoordinator: LockdownCoordinator, scope: CoroutineScope) : MeshConnectionManager
Link copied to clipboard
class MeshDataHandlerImpl(nodeManager: NodeManager, packetHandler: PacketHandler, serviceStateWriter: ServiceStateWriter, packetRepository: Lazy<PacketRepository>, notificationManager: NotificationManager, serviceNotifications: MeshNotificationManager, analytics: PlatformAnalytics, dataMapper: MeshDataMapper, tracerouteHandler: TracerouteHandler, neighborInfoHandler: NeighborInfoHandler, radioConfigRepository: RadioConfigRepository, messageFilter: MessageFilter, storeForwardHandler: StoreForwardPacketHandler, telemetryHandler: TelemetryPacketHandler, adminPacketHandler: AdminPacketHandler, collectorRegistry: DiscoveryPacketCollectorRegistry, geofenceMonitor: GeofenceMonitor, meshBeaconRepository: MeshBeaconRepository, scope: CoroutineScope) : MeshDataHandler

Implementation of MeshDataHandler that decodes and routes incoming mesh data packets.

Link copied to clipboard
class MeshMessageProcessorImpl(nodeManager: NodeManager, serviceStateWriter: ServiceStateWriter, meshLogRepository: Lazy<MeshLogRepository>, dataHandler: Lazy<MeshDataHandler>, fromRadioDispatcher: FromRadioPacketHandler, scope: CoroutineScope) : MeshMessageProcessor

Implementation of MeshMessageProcessor that handles raw radio messages and prepares mesh packets for routing.

Link copied to clipboard

Implementation of MessageFilter that uses regex and plain text matching.

Link copied to clipboard
class MqttManagerImpl(mqttRepository: MQTTRepository, packetHandler: PacketHandler, serviceStateWriter: ServiceStateWriter, nodeRepository: NodeRepository, scope: CoroutineScope) : MqttManager
Link copied to clipboard
class NeighborInfoHandlerImpl(nodeManager: NodeManager, serviceStateWriter: ServiceStateWriter, nodeRepository: NodeRepository) : NeighborInfoHandler
Link copied to clipboard
class NodeManagerImpl(nodeRepository: NodeRepository, notificationManager: NotificationManager, scope: CoroutineScope) : NodeManager

Implementation of NodeManager that maintains an in-memory database of the mesh.

Link copied to clipboard
class PacketHandlerImpl(packetRepository: Lazy<PacketRepository>, radioInterfaceService: RadioInterfaceService, meshLogRepository: Lazy<MeshLogRepository>, connectionStateProvider: ConnectionStateProvider, scope: CoroutineScope) : PacketHandler
Link copied to clipboard

In-memory implementation of SessionManager backed by an atomicfu-protected PersistentMap.

Link copied to clipboard
class StoreForwardPacketHandlerImpl(nodeManager: NodeManager, packetRepository: Lazy<PacketRepository>, historyManager: HistoryManager, dataHandler: Lazy<MeshDataHandler>, scope: CoroutineScope) : StoreForwardPacketHandler

Implementation of StoreForwardPacketHandler that handles both legacy S&F and SF++ packets.

Link copied to clipboard
class TelemetryPacketHandlerImpl(nodeManager: NodeManager, connectionManager: Lazy<MeshConnectionManager>, notificationManager: NotificationManager, scope: CoroutineScope) : TelemetryPacketHandler

Implementation of TelemetryPacketHandler that processes telemetry packets and manages battery-level notifications with cooldown logic.

Link copied to clipboard
class TracerouteHandlerImpl(serviceStateWriter: ServiceStateWriter, tracerouteSnapshotRepository: TracerouteSnapshotRepository, nodeRepository: NodeRepository, scope: CoroutineScope) : TracerouteHandler
Link copied to clipboard

XModem-CRC receiver state machine.