mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
refactor(navigation): adopt sealed interface routes with subclassesOfSealed() (#5043)
This commit is contained in:
parent
0355c7b8b3
commit
ae5f021323
2 changed files with 10 additions and 6 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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 }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue