From ae5f0213234d473f6b9f11f1f955c1eaf5b13b66 Mon Sep 17 00:00:00 2001 From: James Rich <2199651+jamesarich@users.noreply.github.com> Date: Fri, 10 Apr 2026 10:33:57 -0500 Subject: [PATCH] refactor(navigation): adopt sealed interface routes with subclassesOfSealed() (#5043) --- .../kotlin/org/meshtastic/core/navigation/Routes.kt | 11 ++++++++--- .../meshtastic/core/navigation/TopLevelDestination.kt | 5 ++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/Routes.kt b/core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/Routes.kt index b1ccfb4c0..fc288a04c 100644 --- a/core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/Routes.kt +++ b/core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/Routes.kt @@ -63,7 +63,9 @@ sealed interface NodesRoute : Route { @Serializable data object Nodes : NodesRoute - @Serializable data class NodeDetailGraph(val destNum: Int? = null) : NodesRoute, Graph + @Serializable data class NodeDetailGraph(val destNum: Int? = null) : + NodesRoute, + Graph @Serializable data class NodeDetail(val destNum: Int? = null) : NodesRoute } @@ -84,7 +86,8 @@ sealed interface NodeDetailRoute : Route { @Serializable data class TracerouteLog(val destNum: Int) : NodeDetailRoute - @Serializable data class TracerouteMap(val destNum: Int, val requestId: Int, val logUuid: String? = null) : NodeDetailRoute + @Serializable + data class TracerouteMap(val destNum: Int, val requestId: Int, val logUuid: String? = null) : NodeDetailRoute @Serializable data class HostMetricsLog(val destNum: Int) : NodeDetailRoute @@ -95,7 +98,9 @@ sealed interface NodeDetailRoute : Route { @Serializable sealed interface SettingsRoute : Route { - @Serializable data class SettingsGraph(val destNum: Int? = null) : SettingsRoute, Graph + @Serializable data class SettingsGraph(val destNum: Int? = null) : + SettingsRoute, + Graph @Serializable data class Settings(val destNum: Int? = null) : SettingsRoute diff --git a/core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/TopLevelDestination.kt b/core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/TopLevelDestination.kt index 5f9603dd3..a8b10a23e 100644 --- a/core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/TopLevelDestination.kt +++ b/core/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/TopLevelDestination.kt @@ -40,8 +40,7 @@ enum class TopLevelDestination(val label: StringResource, val route: Route) { ; companion object { - fun fromNavKey(key: NavKey?): TopLevelDestination? = entries.find { dest -> - key?.let { it::class == dest.route::class } == true - } + fun fromNavKey(key: NavKey?): TopLevelDestination? = + entries.find { dest -> key?.let { it::class == dest.route::class } == true } } }