MeshNotificationManager

Mesh-domain notification builder. Provides high-level operations for the message arrival, waypoint, reaction, new node, low-battery, and client notification flows specific to this app. Implementations are expected to render the platform notification themselves; the generic dispatch primitive is NotificationManager (which posts/cancels opaque Notification records and is not domain-aware).

Functions

Link copied to clipboard
Link copied to clipboard
abstract suspend fun cancelMessageNotification(contactKey: String)

Suspending because Android rebuilds the group summary here, and the summary's labels come from string resources — resolving them must not block the caller's thread (see org.meshtastic.core.resources.getStringSuspend).

Link copied to clipboard
abstract fun clearClientNotification(notification: ClientNotification)
Link copied to clipboard
abstract fun clearNotifications()
Link copied to clipboard
abstract fun initChannels()
Link copied to clipboard
open suspend fun refreshConversationAfterReply(contactKey: String)

Called after an inline notification reply has been sent and persisted. Platforms that can should re-post the conversation notification silently with the sent reply appended — the MessagingStyle confirmation flow — so the RemoteInput spinner resolves with visible feedback instead of the notification vanishing. The default falls back to dismissing the conversation, which also resolves the spinner.

Link copied to clipboard
abstract fun showAlertNotification(contactKey: String, name: String, alert: String)
Link copied to clipboard
abstract fun showClientNotification(clientNotification: ClientNotification)
Link copied to clipboard
abstract fun showNewNodeSeenNotification(node: Node)
Link copied to clipboard
abstract fun showOrUpdateLowBatteryNotification(node: Node, isRemote: Boolean)
Link copied to clipboard
abstract suspend fun updateMessageNotification(contactKey: String, name: String, message: String, isBroadcast: Boolean, channelName: String?, isSilent: Boolean = false)
Link copied to clipboard
abstract suspend fun updateReactionNotification(contactKey: String, name: String, emoji: String, isBroadcast: Boolean, channelName: String?, isSilent: Boolean = false)
Link copied to clipboard
abstract fun updateServiceStateNotification(state: ConnectionState, telemetry: Telemetry?)
Link copied to clipboard
abstract suspend fun updateWaypointNotification(contactKey: String, name: String, message: String, waypointId: Int, isSilent: Boolean = false)