docs: publish channels: main api

This commit is contained in:
github-actions[bot] committed 2026-08-28 19:29:32 +00:00
1 parent 074efa3158
commit c72ea3ea0c
14 files changed
+144 -12

No files matched your search

@@ -95,7 +95,7 @@
<h1 class="cover"><span>Robolectric</span><wbr><span>Ble</span><wbr><span><span>Bonding</span></span></h1>
<div class="platform-hinted with-platform-tabs" data-platform-hinted="data-platform-hinted">
<div class="platform-bookmarks-row" data-toggle-list="data-toggle-list"><button class="platform-bookmark" data-filterable-current=":core:testing/androidMain" data-filterable-set=":core:testing/androidMain" data-active="" data-toggle=":core:testing/androidMain">android</button></div>
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:testing/androidMain"><div class="symbol monospace"><span class="token keyword">object </span><a href="index.html">RobolectricBleBonding</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/testing/src/androidMain/kotlin/org/meshtastic/core/testing/RobolectricBleBonding.kt#L44">source</a>)</span></span></div><p class="paragraph">Reusable Robolectric helpers for driving Android Bluetooth bonding logic in <code class="lang-kotlin">androidHostTest</code> source sets.</p><p class="paragraph">These let a unit test exercise the real <code class="lang-kotlin">AndroidBluetoothRepository.bond()</code> (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):</p><ul><li><p class="paragraph"><a href="https://developer.android.com/reference/kotlin/android/bluetooth/BluetoothAdapter.html#getremotedevice">android.bluetooth.BluetoothAdapter.getRemoteDevice</a> caches the returned <a href="https://developer.android.com/reference/kotlin/android/bluetooth/BluetoothDevice.html">BluetoothDevice</a> by address in a static map, so the shadow configured here is the <i>same</i> instance production code reads when it calls <code class="lang-kotlin">getRemoteDevice(mac)</code> internally.</p></li><li><p class="paragraph"><span data-unresolved-link="org.robolectric.shadows/ShadowBluetoothDevice/createBond/#/PointingToDeclaration/">ShadowBluetoothDevice.createBond</span> calls <code class="lang-kotlin">checkForBluetoothConnectPermission()</code> first, so tests must call <a href="grant-bluetooth-connect-permission.html">grantBluetoothConnectPermission</a> or <code class="lang-kotlin">createBond()</code> throws <a href="https://developer.android.com/reference/kotlin/java/lang/SecurityException.html">SecurityException</a> instead of returning a value.</p></li></ul><p class="paragraph">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.</p></div> </div>
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:testing/androidMain"><div class="symbol monospace"><span class="token keyword">object </span><a href="index.html">RobolectricBleBonding</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/testing/src/androidMain/kotlin/org/meshtastic/core/testing/RobolectricBleBonding.kt#L44">source</a>)</span></span></div><p class="paragraph">Reusable Robolectric helpers for driving Android Bluetooth bonding logic in <code class="lang-kotlin">androidHostTest</code> source sets.</p><p class="paragraph">These let a unit test exercise the real <code class="lang-kotlin">AndroidBluetoothRepository.bond()</code> (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):</p><ul><li><p class="paragraph"><a href="https://developer.android.com/reference/kotlin/android/bluetooth/BluetoothAdapter.html#getRemoteDevice(kotlin.ByteArray)">android.bluetooth.BluetoothAdapter.getRemoteDevice</a> caches the returned <a href="https://developer.android.com/reference/kotlin/android/bluetooth/BluetoothDevice.html">BluetoothDevice</a> by address in a static map, so the shadow configured here is the <i>same</i> instance production code reads when it calls <code class="lang-kotlin">getRemoteDevice(mac)</code> internally.</p></li><li><p class="paragraph"><span data-unresolved-link="org.robolectric.shadows/ShadowBluetoothDevice/createBond/#/PointingToDeclaration/">ShadowBluetoothDevice.createBond</span> calls <code class="lang-kotlin">checkForBluetoothConnectPermission()</code> first, so tests must call <a href="grant-bluetooth-connect-permission.html">grantBluetoothConnectPermission</a> or <code class="lang-kotlin">createBond()</code> throws <a href="https://developer.android.com/reference/kotlin/java/lang/SecurityException.html">SecurityException</a> instead of returning a value.</p></li></ul><p class="paragraph">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.</p></div> </div>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button></div>
@@ -94,7 +94,7 @@
<div class="cover ">
<h1 class="cover"><span>connection</span><wbr><span><span>Status</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:ui/commonMain"><div class="symbol monospace"><span class="token keyword">val </span><a href="connection-status.html">connectionStatus</a><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/StateFlow///PointingToDeclaration/">StateFlow</span><span class="token operator">&lt;</span><a href="../-connection-status/index.html">ConnectionStatus</a><span class="token operator">&gt;</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/viewmodel/ConnectionsViewModel.kt#L156">source</a>)</span></span></div><p class="paragraph">Single source of truth for the UI's "connection status" pill/banner. Derived from <a href="connection-state.html">connectionState</a>, <a href="../../../../core/repository/org.meshtastic.core.repository/-service-repository/connection-progress.html">ServiceRepository.connectionProgress</a>, and <a href="region-unset.html">regionUnset</a>; kept here rather than in the composable so the mapping is observable and testable.</p><p class="paragraph">The <a href="../-connection-status/-r-e-c-o-n-n-e-c-t-i-n-g/index.html">ConnectionStatus.RECONNECTING</a> case is signalled by the WiFi/TCP handshake watchdog writing <a href="../../../../core/repository/org.meshtastic.core.repository/-service-repository/-companion/-r-e-c-o-n-n-e-c-t-i-n-g_-p-r-o-g-r-e-s-s_-t-e-x-t.html">ServiceRepository.RECONNECTING_PROGRESS_TEXT</a> to <a href="../../../../core/repository/org.meshtastic.core.repository/-service-repository/connection-progress.html">ServiceRepository.connectionProgress</a> immediately before its recovery sibling transitions to <a href="../../../../core/model/org.meshtastic.core.model/-connection-state/-disconnected/index.html">ConnectionState.Disconnected</a>. See <a href="../../../../core/repository/org.meshtastic.core.repository/-service-repository/-companion/-r-e-c-o-n-n-e-c-t-i-n-g_-p-r-o-g-r-e-s-s_-t-e-x-t.html">ServiceRepository.RECONNECTING_PROGRESS_TEXT</a> for the cross-track contract.</p></div></div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:ui/commonMain"><div class="symbol monospace"><span class="token keyword">val </span><a href="connection-status.html">connectionStatus</a><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/StateFlow///PointingToDeclaration/">StateFlow</span><span class="token operator">&lt;</span><a href="../-connection-status/index.html">ConnectionStatus</a><span class="token operator">&gt;</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/viewmodel/ConnectionsViewModel.kt#L166">source</a>)</span></span></div><p class="paragraph">Single source of truth for the UI's "connection status" pill/banner. Derived from <a href="connection-state.html">connectionState</a>, <a href="../../../../core/repository/org.meshtastic.core.repository/-service-repository/connection-progress.html">ServiceRepository.connectionProgress</a>, and <a href="region-unset.html">regionUnset</a>; kept here rather than in the composable so the mapping is observable and testable.</p><p class="paragraph">The <a href="../-connection-status/-r-e-c-o-n-n-e-c-t-i-n-g/index.html">ConnectionStatus.RECONNECTING</a> case is signalled by the WiFi/TCP handshake watchdog writing <a href="../../../../core/repository/org.meshtastic.core.repository/-service-repository/-companion/-r-e-c-o-n-n-e-c-t-i-n-g_-p-r-o-g-r-e-s-s_-t-e-x-t.html">ServiceRepository.RECONNECTING_PROGRESS_TEXT</a> to <a href="../../../../core/repository/org.meshtastic.core.repository/-service-repository/connection-progress.html">ServiceRepository.connectionProgress</a> immediately before its recovery sibling transitions to <a href="../../../../core/model/org.meshtastic.core.model/-connection-state/-disconnected/index.html">ConnectionState.Disconnected</a>. See <a href="../../../../core/repository/org.meshtastic.core.repository/-service-repository/-companion/-r-e-c-o-n-n-e-c-t-i-n-g_-p-r-o-g-r-e-s-s_-t-e-x-t.html">ServiceRepository.RECONNECTING_PROGRESS_TEXT</a> for the cross-track contract.</p></div></div>
</div>
<div class="footer">
<div class="footer--container">
@@ -94,7 +94,7 @@
<div class="cover ">
<h1 class="cover"><span>firmware</span><wbr><span>Update</span><wbr><span><span>Notice</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:ui/commonMain"><div class="symbol monospace"><span class="token keyword">val </span><a href="firmware-update-notice.html">firmwareUpdateNotice</a><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/StateFlow///PointingToDeclaration/">StateFlow</span><span class="token operator">&lt;</span><a href="../../../../core/model/org.meshtastic.core.model/-firmware-update-notice/index.html">FirmwareUpdateNotice</a><span class="token operator">?</span><span class="token operator">&gt;</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/viewmodel/ConnectionsViewModel.kt#L243">source</a>)</span></span></div></div></div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:ui/commonMain"><div class="symbol monospace"><span class="token keyword">val </span><a href="firmware-update-notice.html">firmwareUpdateNotice</a><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/StateFlow///PointingToDeclaration/">StateFlow</span><span class="token operator">&lt;</span><a href="../../../../core/model/org.meshtastic.core.model/-firmware-update-notice/index.html">FirmwareUpdateNotice</a><span class="token operator">?</span><span class="token operator">&gt;</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/viewmodel/ConnectionsViewModel.kt#L253">source</a>)</span></span></div></div></div>
</div>
<div class="footer">
<div class="footer--container">
@@ -94,7 +94,7 @@
<div class="cover ">
<h1 class="cover"><span>has</span><wbr><span>Shown</span><wbr><span>Not</span><wbr><span>Paired</span><wbr><span><span>Warning</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:ui/commonMain"><div class="symbol monospace"><span class="token keyword">val </span><a href="has-shown-not-paired-warning.html">hasShownNotPairedWarning</a><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/StateFlow///PointingToDeclaration/">StateFlow</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator">&gt;</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/viewmodel/ConnectionsViewModel.kt#L187">source</a>)</span></span></div></div></div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:ui/commonMain"><div class="symbol monospace"><span class="token keyword">val </span><a href="has-shown-not-paired-warning.html">hasShownNotPairedWarning</a><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/StateFlow///PointingToDeclaration/">StateFlow</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator">&gt;</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/viewmodel/ConnectionsViewModel.kt#L197">source</a>)</span></span></div></div></div>
</div>
<div class="footer">
<div class="footer--container">
@@ -284,6 +284,21 @@
</div>
</div>
</div>
<a data-name="71155106%2FProperties%2F-920980536" anchor-label="txDisabled" id="71155106%2FProperties%2F-920980536" data-filterable-set=":core:ui/commonMain"></a>
<div class="table-row table-row_content" data-filterable-current=":core:ui/commonMain" data-filterable-set=":core:ui/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="tx-disabled.html"><span>tx</span><wbr><span><span>Disabled</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="71155106%2FProperties%2F-920980536"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:ui/commonMain"><div class="symbol monospace"><span class="token keyword">val </span><a href="tx-disabled.html">txDisabled</a><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/StateFlow///PointingToDeclaration/">StateFlow</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator">&gt;</span></div><div class="brief "><p class="paragraph">Whether the device is configured not to transmit. Null-safe against the pre-config <span data-unresolved-link="org.meshtastic.proto/LocalConfig///PointingToDeclaration/">LocalConfig</span> so the notice cannot flash before the device's config arrives.</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-togglable="FUNCTION">
@@ -94,7 +94,7 @@
<div class="cover ">
<h1 class="cover"><span>suppress</span><wbr><span>No</span><wbr><span>Paired</span><wbr><span><span>Warning</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:ui/commonMain"><div class="symbol monospace"><span class="token keyword">fun </span><a href="suppress-no-paired-warning.html"><span class="token function">suppressNoPairedWarning</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/viewmodel/ConnectionsViewModel.kt#L189">source</a>)</span></span></div></div></div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:ui/commonMain"><div class="symbol monospace"><span class="token keyword">fun </span><a href="suppress-no-paired-warning.html"><span class="token function">suppressNoPairedWarning</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/viewmodel/ConnectionsViewModel.kt#L199">source</a>)</span></span></div></div></div>
</div>
<div class="footer">
<div class="footer--container">
@@ -0,0 +1,117 @@
<!doctype html>
<html class="no-js" lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>txDisabled</title>
<link href="../../../../images/logo-icon.svg" rel="icon" type="image/svg"><script>var pathToRoot = "../../../../";</script>
<script>document.documentElement.classList.replace("no-js", "js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if (savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="../../../../scripts/sourceset_dependencies.js" async></script>
<link href="../../../../styles/style.css" rel="Stylesheet">
<link href="../../../../styles/main.css" rel="Stylesheet">
<link href="../../../../styles/prism.css" rel="Stylesheet">
<link href="../../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../../ui-kit/ui-kit.min.css" rel="Stylesheet">
<script type="text/javascript" src="../../../../scripts/safe-local-storage_blocking.js"></script>
<script type="text/javascript" src="../../../../scripts/navigation-loader.js" async></script>
<script type="text/javascript" src="../../../../scripts/platform-content-handler.js" async></script>
<script type="text/javascript" src="../../../../scripts/main.js" defer></script>
<script type="text/javascript" src="../../../../scripts/prism.js" async></script>
<script type="text/javascript" src="../../../../ui-kit/ui-kit.min.js" defer></script></head>
<body>
<div class="root">
<header class="navigation theme-dark" id="navigation-wrapper" role="banner">
<a class="library-name--link" href="../../../../index.html" tabindex="1">
Meshtastic App
</a> <button class="navigation-controls--btn navigation-controls--btn_toc ui-kit_mobile-only" id="toc-toggle" type="button">Toggle table of contents
</button>
<div class="navigation-controls--break ui-kit_mobile-only"></div>
<div class="library-version" id="library-version">
</div>
<div class="navigation-controls">
<ul class="filter-section filter-section_loading" id="filter-section" aria-label="Target filter">
<button class="platform-tag platform-selector common-like" data-active="" aria-pressed="true" data-filter=":core:ui/commonMain">common</button>
<div class="dropdown filter-section--dropdown" data-role="dropdown" id="filter-section-dropdown">
<button class="button button_dropdown filter-section--dropdown-toggle" role="combobox" data-role="dropdown-toggle" aria-controls="platform-tags-listbox" aria-haspopup="listbox" aria-expanded="false" aria-label="Toggle source sets"></button>
<ul role="listbox" id="platform-tags-listbox" class="dropdown--list" data-role="dropdown-listbox" aria-label="Target filter">
<div class="dropdown--header"><span>Target filter</span>
<button class="button" data-role="dropdown-toggle" aria-label="Close target filter">
<i class="ui-kit-icon ui-kit-icon_cross"></i>
</button>
</div>
<li role="option" class="dropdown--option platform-selector-option common-like" tabindex="0">
<label class="checkbox">
<input type="checkbox" class="checkbox--input" id=":core:ui/commonMain" data-filter=":core:ui/commonMain">
<span class="checkbox--icon"></span>
common
</label>
</li>
</ul>
<div class="dropdown--overlay"></div>
</div>
</ul>
<button class="navigation-controls--btn navigation-controls--btn_theme" id="theme-toggle-button" type="button">Switch theme
</button>
<div class="navigation-controls--btn navigation-controls--btn_search" id="searchBar" role="button">Search in
API
</div>
</div>
</header>
<div id="container">
<nav id="leftColumn" class="sidebar" data-item-type="SECTION" data-item-config="{&quot;defaultSize&quot;: 280, &quot;minSize&quot;: 200, &quot;maxSize&quot;: 400}">
<a class="toc--skip-link" href="#main">Skip to content</a>
<div class="dropdown theme-dark_mobile" data-role="dropdown" id="toc-dropdown">
<ul role="listbox" id="toc-listbox" class="dropdown--list dropdown--list_toc-list" data-role="dropdown-listbox" aria-label="Table of contents">
<div class="dropdown--header">
<span>
Meshtastic App
</span>
<button class="button" data-role="dropdown-toggle" aria-label="Close table of contents">
<i class="ui-kit-icon ui-kit-icon_cross"></i>
</button>
</div>
<div class="sidebar--inner" id="sideMenu"></div>
</ul>
<div class="dropdown--overlay"></div>
</div>
</nav>
<div id="resizer" class="resizer" data-item-type="BAR"></div>
<div id="main" data-item-type="SECTION" role="main">
<div class="main-content" data-page-type="member" id="content" pageids="core-ui::org.meshtastic.core.ui.viewmodel/ConnectionsViewModel/txDisabled/#/PointingToDeclaration//-920980536">
<div class="breadcrumbs"><a href="../../index.html">core-ui</a><span class="delimiter">/</span><a href="../index.html">org.meshtastic.core.ui.viewmodel</a><span class="delimiter">/</span><a href="index.html">ConnectionsViewModel</a><span class="delimiter">/</span><span class="current">txDisabled</span></div>
<div class="cover ">
<h1 class="cover"><span>tx</span><wbr><span><span>Disabled</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:ui/commonMain"><div class="symbol monospace"><span class="token keyword">val </span><a href="tx-disabled.html">txDisabled</a><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/StateFlow///PointingToDeclaration/">StateFlow</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator">&gt;</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/viewmodel/ConnectionsViewModel.kt#L150">source</a>)</span></span></div><p class="paragraph">Whether the device is configured not to transmit. Null-safe against the pre-config <span data-unresolved-link="org.meshtastic.proto/LocalConfig///PointingToDeclaration/">LocalConfig</span> so the notice cannot flash before the device's config arrives.</p></div></div>
</div>
<div class="footer">
<div class="footer--container">
<a href="#content" id="go-to-top-link" class="footer--button footer--button_go-to-top"></a>
<div class="footer--content">
<div>
<span>Generated by </span>
<a class="footer--link footer--link_external" href="https://github.com/Kotlin/dokka">
Dokka
</a>
<div>© 2026 Copyright</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
@@ -94,7 +94,7 @@
<div class="cover ">
<h1 class="cover"><span>Connections</span><wbr><span><span>Screen</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":feature:connections/commonMain"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html"><span class="token annotation builtin">Composable</span></a></div></div><span class="token keyword">fun </span><a href="-connections-screen.html"><span class="token function">ConnectionsScreen</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">connectionsViewModel<span class="token operator">: </span><a href="../../../core/ui/org.meshtastic.core.ui.viewmodel/-connections-view-model/index.html">ConnectionsViewModel</a><span class="token operator"> = </span>koinViewModel()<span class="token punctuation">, </span></span><span class="parameter ">scanModel<span class="token operator">: </span><a href="../org.meshtastic.feature.connections/-scanner-view-model/index.html">ScannerViewModel</a><span class="token operator"> = </span>koinViewModel()<span class="token punctuation">, </span></span><span class="parameter ">onClickNodeChip<span class="token operator">: </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span></span><span class="parameter ">onNavigateToNodeDetails<span class="token operator">: </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span></span><span class="parameter ">onConfigNavigate<span class="token operator">: </span><span class="token punctuation">(</span><a href="../../../core/navigation/org.meshtastic.core.navigation/-route/index.html">Route</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/feature/connections/src/commonMain/kotlin/org/meshtastic/feature/connections/ui/ConnectionsScreen.kt#L152">source</a>)</span></span></div><p class="paragraph">Composable screen for managing device connections (BLE, TCP, USB). It displays connection status.</p></div></div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":feature:connections/commonMain"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html"><span class="token annotation builtin">Composable</span></a></div></div><span class="token keyword">fun </span><a href="-connections-screen.html"><span class="token function">ConnectionsScreen</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">connectionsViewModel<span class="token operator">: </span><a href="../../../core/ui/org.meshtastic.core.ui.viewmodel/-connections-view-model/index.html">ConnectionsViewModel</a><span class="token operator"> = </span>koinViewModel()<span class="token punctuation">, </span></span><span class="parameter ">scanModel<span class="token operator">: </span><a href="../org.meshtastic.feature.connections/-scanner-view-model/index.html">ScannerViewModel</a><span class="token operator"> = </span>koinViewModel()<span class="token punctuation">, </span></span><span class="parameter ">onClickNodeChip<span class="token operator">: </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span></span><span class="parameter ">onNavigateToNodeDetails<span class="token operator">: </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span></span><span class="parameter ">onConfigNavigate<span class="token operator">: </span><span class="token punctuation">(</span><a href="../../../core/navigation/org.meshtastic.core.navigation/-route/index.html">Route</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/feature/connections/src/commonMain/kotlin/org/meshtastic/feature/connections/ui/ConnectionsScreen.kt#L155">source</a>)</span></span></div><p class="paragraph">Composable screen for managing device connections (BLE, TCP, USB). It displays connection status.</p></div></div>
</div>
<div class="footer">
<div class="footer--container">
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.