diff --git a/api/core/data/org.meshtastic.core.data.manager/-command-sender-impl/-companion/index.html b/api/core/data/org.meshtastic.core.data.manager/-command-sender-impl/-companion/index.html index da729010ef..69532b29b4 100644 --- a/api/core/data/org.meshtastic.core.data.manager/-command-sender-impl/-companion/index.html +++ b/api/core/data/org.meshtastic.core.data.manager/-command-sender-impl/-companion/index.html @@ -93,7 +93,7 @@
Synchronously cancels the transport-aware handshake watchdog the moment Stage 2 completes (NODE_INFO_NONCE received). Does NOT replicate onNodeDbReady's post-NodeDB side effects (analytics, MQTT start, history replay, telemetry requests) — those remain gated on onNodeDbReady at the end of the async DB install block.
See MeshConnectionManager.onHandshakeComplete for the full rationale.
Synchronously cancels the transport-aware handshake watchdog the moment Stage 2 completes (NODE_INFO_NONCE received). Does NOT replicate onNodeDbReady's post-NodeDB side effects (analytics, MQTT start, history replay, telemetry requests) — those remain gated on onNodeDbReady at the end of the async DB install block.
See MeshConnectionManager.onHandshakeComplete for the full rationale.
Sends an admin message immediately, bypassing the outbound packet queue. The queue only drains while the connection state is Connected, so mid-handshake sends (e.g. set_time_only at MyNodeInfo) must use this path or they stall until the handshake finishes.
Requests neighbor info from a specific node.
Requests neighbor info from a specific node.
Requests the position of a specific node.
Requests the position of a specific node.
Requests telemetry from a specific node.
Requests telemetry from a specific node.
Requests a traceroute to a specific node.
Requests a traceroute to a specific node.
Requests user info from a specific node.
Requests user info from a specific node.
Sends an admin message and suspends until the radio acknowledges it.
This is used when the caller needs to guarantee a packet has been accepted by the radio before proceeding, such as sending a shared contact before the first DM to a node.
true if the radio accepted the packet, false on timeout or failure.
Sends an admin message and suspends until the radio acknowledges it.
This is used when the caller needs to guarantee a packet has been accepted by the radio before proceeding, such as sending a shared contact before the first DM to a node.
true if the radio accepted the packet, false on timeout or failure.
Sends an admin message immediately, bypassing the outbound packet queue. The queue only drains while the connection state is Connected, so mid-handshake sends (e.g. set_time_only at MyNodeInfo) must use this path or they stall until the handshake finishes.
Sends a Lock Now command to immediately lock a locked-firmware device.
Sends a Lock Now command to immediately lock a locked-firmware device.
Sends a lockdown passphrase to authenticate with a locked device.
when true, instructs the device to decrypt storage back to plaintext and leave lockdown (the off switch). The device reboots and reconnects reporting DISABLED.
Sends a lockdown passphrase to authenticate with a locked device.
when true, instructs the device to decrypt storage back to plaintext and leave lockdown (the off switch). The device reboots and reconnects reporting DISABLED.
Sends our current position to the mesh.
Sends our current position to the mesh.
Sets a fixed position for a node.
Sets a fixed position for a node.
Clears the cached radio configuration (local config, channel set, module config).
Clears the cached radio configuration (local config, channel set, module config).
Called when the MyNodeInfo frame arrives — the first frame of the Stage 1 config stream. This is the earliest point where the local node number is authoritative, before the firmware flushes its queued packet backlog, so time-sensitive setup (e.g. set_time_only) sent here lets the firmware stamp backlog packets with real rx_time.
Synchronously cancels the transport-aware handshake watchdog the moment the firmware signals Stage 2 completion (NODE_INFO_NONCE received).
This MUST be invoked before the asynchronous NodeDB install work begins so that a slow DB commit on a large mesh cannot trip the 12 s fast-recovery timeout after the firmware handshake has already succeeded. The watchdog cancellation it performs is a strict subset of onNodeDbReady; the remaining post-NodeDB side effects (analytics, MQTT start, history replay, telemetry requests) stay gated on onNodeDbReady at the end of the DB install block.
Synchronously cancels the transport-aware handshake watchdog the moment the firmware signals Stage 2 completion (NODE_INFO_NONCE received).
This MUST be invoked before the asynchronous NodeDB install work begins so that a slow DB commit on a large mesh cannot trip the 12 s fast-recovery timeout after the firmware handshake has already succeeded. The watchdog cancellation it performs is a strict subset of onNodeDbReady; the remaining post-NodeDB side effects (analytics, MQTT start, history replay, telemetry requests) stay gated on onNodeDbReady at the end of the DB install block.
Called when meaningful handshake progress is observed on the wire (e.g. an inbound packet related to the in-flight config or node-info exchange).
On fast transports (TCP, USB serial) this re-arms the transport-aware handshake watchdog so a steady trickle of progress does not trip the aggressive fast-recovery timeout while a true stall still fires on schedule. On BLE this is a no-op: BLE keeps the original long-and-retry stall-guard budget because GATT latency is high and variable.
Called when meaningful handshake progress is observed on the wire (e.g. an inbound packet related to the in-flight config or node-info exchange).
On fast transports (TCP, USB serial) this re-arms the transport-aware handshake watchdog so a steady trickle of progress does not trip the aggressive fast-recovery timeout while a true stall still fires on schedule. On BLE this is a no-op: BLE keeps the original long-and-retry stall-guard budget because GATT latency is high and variable.
Called when the MyNodeInfo frame arrives — the first frame of the Stage 1 config stream. This is the earliest point where the local node number is authoritative, before the firmware flushes its queued packet backlog, so time-sensitive setup (e.g. set_time_only) sent here lets the firmware stamp backlog packets with real rx_time.
Called when the node database is ready and fully populated.
Called when the node database is ready and fully populated.
Recovers from a failure after firmware handshake completion but before NodeDB install has completed.
At this point the handshake watchdog has already been cancelled by onHandshakeComplete, so recovery must explicitly move the app-level state out of Connecting and restart the raw transport in the same ordering used by handshake stall recovery.
Recovers from a failure after firmware handshake completion but before NodeDB install has completed.
At this point the handshake watchdog has already been cancelled by onHandshakeComplete, so recovery must explicitly move the app-level state out of Connecting and restart the raw transport in the same ordering used by handshake stall recovery.
Updates the current status notification.
Updates the current status notification.
Updates the telemetry information for the local node.
Updates the telemetry information for the local node.
Reusable Robolectric helpers for driving Android Bluetooth bonding logic in androidHostTest source sets.
These let a unit test exercise the real AndroidBluetoothRepository.bond() (and any future BLE bonding code) without an emulator and without a production seam. They rely on two Robolectric behaviors (verified against Robolectric 4.16.x):
android.bluetooth.BluetoothAdapter.getRemoteDevice caches the returned BluetoothDevice by address in a static map, so the shadow configured here is the same instance production code reads when it calls getRemoteDevice(mac) internally.
ShadowBluetoothDevice.createBond calls checkForBluetoothConnectPermission() first, so tests must call grantBluetoothConnectPermission or createBond() throws SecurityException instead of returning a value.
Isolation note: because the device cache is static and survives across tests in the same JVM, give each test a distinct MAC so bond-state cannot bleed between tests.
Reusable Robolectric helpers for driving Android Bluetooth bonding logic in androidHostTest source sets.
These let a unit test exercise the real AndroidBluetoothRepository.bond() (and any future BLE bonding code) without an emulator and without a production seam. They rely on two Robolectric behaviors (verified against Robolectric 4.16.x):
android.bluetooth.BluetoothAdapter.getRemoteDevice caches the returned BluetoothDevice by address in a static map, so the shadow configured here is the same instance production code reads when it calls getRemoteDevice(mac) internally.
ShadowBluetoothDevice.createBond calls checkForBluetoothConnectPermission() first, so tests must call grantBluetoothConnectPermission or createBond() throws SecurityException instead of returning a value.
Isolation note: because the device cache is static and survives across tests in the same JVM, give each test a distinct MAC so bond-state cannot bleed between tests.
A comprehensive and flexible dialog component for the Meshtastic application.
Modifier for the dialog.
The title text of the dialog.
The title string resource of the dialog.
Optional plain text message.
Optional string resource message.
Optional color for the plain text message; Color.Unspecified uses the default text color.
Optional HTML formatted message.
Optional leading icon.
Optional custom composable content for the body.
Text for the confirmation button.
String resource for the confirmation button.
Callback for the confirmation button.
Text for the dismiss button.
String resource for the dismiss button.
Callback for when the dialog is dismissed or the dismiss button is clicked.
If provided, displays a list of buttons instead of the standard confirm/dismiss actions.
Whether the dialog can be dismissed by clicking outside or pressing back.
A comprehensive and flexible dialog component for the Meshtastic application.
Modifier for the dialog.
The title text of the dialog.
The title string resource of the dialog.
Optional plain text message.
Optional string resource message.
Optional color for the plain text message; Color.Unspecified uses the default text color.
Optional HTML formatted message.
Optional leading icon.
Optional custom composable content for the body.
Text for the confirmation button.
String resource for the confirmation button.
Callback for the confirmation button.
Text for the dismiss button.
String resource for the dismiss button.
Callback for when the dialog is dismissed or the dismiss button is clicked.
If provided, displays a list of buttons instead of the standard confirm/dismiss actions.
Whether the dialog can be dismissed by clicking outside or pressing back.
Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (ButtonDefaults.IconSize, ButtonDefaults.IconSpacing, and the variant-appropriate *WithIconContentPadding) so every scan / add / empty-state affordance renders identically.
accessibility label for the leading icon. Defaults to null because the visible text usually describes the action; override when the icon carries information the text does not.
Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (ButtonDefaults.IconSize, ButtonDefaults.IconSpacing, and the variant-appropriate *WithIconContentPadding) so every scan / add / empty-state affordance renders identically.
accessibility label for the leading icon. Defaults to null because the visible text usually describes the action; override when the icon carries information the text does not.
Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (ButtonDefaults.IconSize, ButtonDefaults.IconSpacing, and the variant-appropriate *WithIconContentPadding) so every scan / add / empty-state affordance renders identically.
Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (ButtonDefaults.IconSize, ButtonDefaults.IconSpacing, and the variant-appropriate *WithIconContentPadding) so every scan / add / empty-state affordance renders identically.