Package-level declarations
Types
Parceler for Okio ByteString for Android Parcelable support
Serializer for Okio ByteString using kotlinx.serialization
Exception thrown when a Meshtastic URL cannot be parsed.
Utility class to map MeshPacket protobufs to DataPacket domain models.
Interface for looking up Node IDs from Node Numbers.
Computes SFPP (Store-Forward-Plus-Plus) message hashes for deduplication.
Common time-related constants.
Properties
When printing strings to logs sometimes we want to print useful debugging information about users or positions. But we don't want to leak things like usernames or locations. So this function if given a string, will return a string which is a maximum of three characters long, taken from the tail of the string. Which should effectively hide real usernames and locations, but still let us see if values were zero, empty or different.
Path segment for Channel Set URIs.
Full prefix for Channel Set URIs: https://meshtastic.org/e/
Path segment for Shared Contact URIs.
Full prefix for Shared Contact URIs: https://meshtastic.org/v/#
The base domain for all Meshtastic URIs.
Return the primary channel info
Functions
Decodes a Base64 string into a ByteString.
Utility function to make it easy to declare byte arrays
Compares two User objects and returns a string detailing the differences.
Safely decode a proto message from ByteArray, returning null on error.
Bridge extension for Android clients.
Tries to parse a Meshtastic URI as a Channel Set or Shared Contact, including fallback logic.
Calculates the remaining mute time in days and hours.
Formats a duration in seconds as a human-readable uptime string (e.g., "1d 2h 3m 4s").
Return a URL that represents the ChannelSet
Given a human name, strip out the first letter of the first three words and return that as the initials for that user, ignoring emojis. If the original name is only one word, strip vowels from the original name and if the result is 3 or more characters, use the first three characters. If not, just take the first 3 characters of the original name.
Converts a SharedContact to its corresponding URI representation.
Returns a short string representing the time if it's within the last 24 hours, otherwise returns a short string representing the date.
Returns a short string representing the time if it's within the last 24 hours, otherwise returns a combined short date/time string.
Returns a short string representing the time if it's within the last 24 hours, otherwise returns a combined short date/time string.
Dispatches an incoming Meshtastic URI to the appropriate handler based on its path.
Returns true if this telemetry packet contains valid, plot-able environment metrics.
Returns true if this packet is a direct LoRa signal (not MQTT, and hop count matches).
Check if an encoded message would fit within a size limit.
Log a proto message with readable formatting.
Get the estimated encoded size of a message in bytes.
Bridge extension for Android clients.
Return a ChannelSet that represents the ChannelSet encoded by the URL.
Extension to bridge android.net.Uri to CommonUri for shared dispatch logic.
Get a compact single-line string representation for JSON/API serialization.
Generates a POSIX time zone string from a TimeZone.
Convert a proto message to a pretty-printed string representation.
Bridge extension for Android clients.
Return a SharedContact that represents the contact encoded by the URL.
Converts a User object to a string representation of its fields and values.