Package-level declarations
Types
Interface for handling admin messages from the mesh (config, metadata, session passkey).
Reactive interface for analytics-related preferences.
Consolidated interface for all application preferences.
Interface for triggering updates to application widgets.
Interface for sending commands and packets to the mesh network.
Reactive interface for emoji preferences.
Abstracts file system operations (like reading from or writing to URIs) so that ViewModels can remain platform-independent.
Reactive interface for message filtering preferences.
Interface for dispatching non-packet FromRadio variants to their respective handlers.
Shared constants for the two-stage mesh handshake protocol.
Interface for managing store-and-forward history replay requests.
Reactive interface for homoglyph encoding preferences.
Android-specific location object typealias for KMP.
Platform-independent location object for KMP.
JVM placeholder location type for repository smoke compilation.
Abstracts high-level location requests (such as one-off current location) that may require platform-specific permission checks or hardware interactions.
Reactive interface for map consent.
Reactive interface for map tile provider settings.
Interface for handling UI-triggered actions and administrative commands for the mesh.
Interface for managing the configuration flow, including local node info and metadata.
Interface for handling device and module configuration updates.
Interface for managing the connection lifecycle and status with the mesh radio.
Interface for handling incoming mesh data packets and routing them to the appropriate handlers.
Interface for managing the local node's location updates and reporting.
Reactive interface for mesh log preferences.
Repository interface for managing and retrieving logs from the database.
Interface for processing incoming radio messages and mesh packets.
Interface for the central router that orchestrates specialized mesh packet handlers.
Interface for managing background workers for mesh-related tasks.
Interface for filtering messages based on user-configured filter words.
Interface for enqueuing background work for transmitting messages. This allows the domain layer to trigger durable transmission without depending on Android-specific WorkManager.
Interface for managing MQTT proxy communication.
Interface for handling neighbor info responses from the mesh.
Interface for managing the in-memory node database and processing received node information.
Repository interface for managing node-related data.
Reactive interface for notification preferences.
Interface for handling the transmission of packets to the radio and managing the packet queue.
Repository interface for managing mesh packets and message history.
Interface to abstract platform-specific functionalities, primarily for analytics and related services that differ between product flavors.
Interface for the low-level radio interface that handles raw byte communication.
Reactive interface for radio settings.
Interface for hardware transports (BLE, Serial, TCP, etc.) that handles raw byte communication. This is the KMP-compatible replacement for the legacy Android-specific IRadioInterface.
Narrow callback interface for transport → service communication.
Creates RadioTransport instances for specific device addresses.
Interface for broadcasting service-level events to the application.
Interface for managing background service state, connection status, and mesh events.
Owns per-node remote-administration session state — the session passkey the firmware embeds in every admin response and the timestamp it was last refreshed at.
Interface for handling Store & Forward (legacy) and SF++ packets.
Interface for handling telemetry packets from the mesh, including battery notifications.
Interface for handling traceroute responses from the mesh.
Repository interface for managing snapshots of traceroute results.
A file received via an XModem transfer from the connected device.
Handles the XModem-CRC receive protocol for file transfers from the connected device.