From 6487d1316dcb83560916f99b7495e643bb68649b Mon Sep 17 00:00:00 2001 From: James Rich Date: Wed, 6 May 2026 12:37:43 -0500 Subject: [PATCH] refactor: remove dead deps + add Compose stability annotations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove unused feature/node → feature/map dependency (nothing imported) - Add @Immutable to RadioConfigState, DiscoveredDevices, DeviceListEntry to prevent unnecessary Compose recompositions from unstable inference Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../org/meshtastic/feature/connections/model/DeviceListEntry.kt | 1 + .../meshtastic/feature/connections/model/DiscoveredDevices.kt | 1 + feature/node/build.gradle.kts | 1 - .../meshtastic/feature/settings/radio/RadioConfigViewModel.kt | 1 + 4 files changed, 3 insertions(+), 1 deletion(-) diff --git a/feature/connections/src/commonMain/kotlin/org/meshtastic/feature/connections/model/DeviceListEntry.kt b/feature/connections/src/commonMain/kotlin/org/meshtastic/feature/connections/model/DeviceListEntry.kt index bb5bdbb37..f3e281dac 100644 --- a/feature/connections/src/commonMain/kotlin/org/meshtastic/feature/connections/model/DeviceListEntry.kt +++ b/feature/connections/src/commonMain/kotlin/org/meshtastic/feature/connections/model/DeviceListEntry.kt @@ -25,6 +25,7 @@ import org.meshtastic.core.model.util.anonymize interface UsbDeviceData /** A sealed class representing the different types of devices that can be displayed in the connections list. */ +@androidx.compose.runtime.Immutable sealed class DeviceListEntry( open val name: String, open val fullAddress: String, diff --git a/feature/connections/src/commonMain/kotlin/org/meshtastic/feature/connections/model/DiscoveredDevices.kt b/feature/connections/src/commonMain/kotlin/org/meshtastic/feature/connections/model/DiscoveredDevices.kt index 3a6053bf5..3ba50ed48 100644 --- a/feature/connections/src/commonMain/kotlin/org/meshtastic/feature/connections/model/DiscoveredDevices.kt +++ b/feature/connections/src/commonMain/kotlin/org/meshtastic/feature/connections/model/DiscoveredDevices.kt @@ -19,6 +19,7 @@ package org.meshtastic.feature.connections.model import kotlinx.coroutines.flow.Flow import org.meshtastic.core.network.repository.DiscoveredService +@androidx.compose.runtime.Immutable data class DiscoveredDevices( val bleDevices: List = emptyList(), val usbDevices: List = emptyList(), diff --git a/feature/node/build.gradle.kts b/feature/node/build.gradle.kts index ca55cd53b..c8018e59c 100644 --- a/feature/node/build.gradle.kts +++ b/feature/node/build.gradle.kts @@ -42,7 +42,6 @@ kotlin { implementation(projects.core.resources) implementation(projects.core.ui) implementation(projects.core.di) - implementation(projects.feature.map) implementation(libs.jetbrains.navigation3.ui) implementation(libs.markdown.renderer) diff --git a/feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/radio/RadioConfigViewModel.kt b/feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/radio/RadioConfigViewModel.kt index bd2008d00..69c9d74c2 100644 --- a/feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/radio/RadioConfigViewModel.kt +++ b/feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/radio/RadioConfigViewModel.kt @@ -82,6 +82,7 @@ import org.meshtastic.proto.ModuleConfig import org.meshtastic.proto.User /** Data class that represents the current RadioConfig state. */ +@androidx.compose.runtime.Immutable data class RadioConfigState( val isLocal: Boolean = false, val connected: Boolean = false,