mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
Refactor: Simplify back stack entry retrieval and navigation (#2405)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
parent
9259e21aed
commit
1bad58a889
5 changed files with 26 additions and 26 deletions
|
|
@ -47,7 +47,8 @@ fun NavGraphBuilder.channelsGraph(navController: NavHostController, uiViewModel:
|
|||
) {
|
||||
composable<ChannelsRoutes.Channels> { backStackEntry ->
|
||||
val parentEntry = remember(backStackEntry) {
|
||||
navController.getBackStackEntry<ChannelsRoutes.ChannelsGraph>()
|
||||
val parentRoute = backStackEntry.destination.parent!!.route!!
|
||||
navController.getBackStackEntry(parentRoute)
|
||||
}
|
||||
ChannelScreen(
|
||||
viewModel = uiViewModel,
|
||||
|
|
@ -65,7 +66,8 @@ private fun NavGraphBuilder.configRoutes(
|
|||
ConfigRoute.entries.forEach { configRoute ->
|
||||
composable(configRoute.route::class) { backStackEntry ->
|
||||
val parentEntry = remember(backStackEntry) {
|
||||
navController.getBackStackEntry<ChannelsRoutes.ChannelsGraph>()
|
||||
val parentRoute = backStackEntry.destination.parent!!.route!!
|
||||
navController.getBackStackEntry(parentRoute)
|
||||
}
|
||||
when (configRoute) {
|
||||
ConfigRoute.CHANNELS -> ChannelConfigScreen(hiltViewModel(parentEntry))
|
||||
|
|
|
|||
|
|
@ -59,7 +59,8 @@ fun NavGraphBuilder.connectionsGraph(
|
|||
)
|
||||
) { backStackEntry ->
|
||||
val parentEntry = remember(backStackEntry) {
|
||||
navController.getBackStackEntry<ConnectionsRoutes.ConnectionsGraph>()
|
||||
val parentRoute = backStackEntry.destination.parent!!.route!!
|
||||
navController.getBackStackEntry(parentRoute)
|
||||
}
|
||||
ConnectionsScreen(
|
||||
uiViewModel = uiViewModel,
|
||||
|
|
@ -79,7 +80,8 @@ private fun NavGraphBuilder.configRoutes(
|
|||
) {
|
||||
composable<RadioConfigRoutes.LoRa> { backStackEntry ->
|
||||
val parentEntry = remember(backStackEntry) {
|
||||
navController.getBackStackEntry<ConnectionsRoutes.ConnectionsGraph>()
|
||||
val parentRoute = backStackEntry.destination.parent!!.route!!
|
||||
navController.getBackStackEntry(parentRoute)
|
||||
}
|
||||
LoRaConfigScreen(hiltViewModel(parentEntry))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,7 +119,8 @@ fun NavGraphBuilder.nodeDetailGraph(
|
|||
) {
|
||||
composable<NodesRoutes.NodeDetail> { backStackEntry ->
|
||||
val parentEntry = remember(backStackEntry) {
|
||||
navController.getBackStackEntry<NodesRoutes.NodeDetailGraph>()
|
||||
val parentRoute = backStackEntry.destination.parent!!.route!!
|
||||
navController.getBackStackEntry(parentRoute)
|
||||
}
|
||||
NodeDetailScreen(
|
||||
uiViewModel = uiViewModel,
|
||||
|
|
@ -138,7 +139,8 @@ fun NavGraphBuilder.nodeDetailGraph(
|
|||
NodeDetailRoute.entries.forEach { nodeDetailRoute ->
|
||||
composable(nodeDetailRoute.route::class) { backStackEntry ->
|
||||
val parentEntry = remember(backStackEntry) {
|
||||
navController.getBackStackEntry<NodesRoutes.NodeDetailGraph>()
|
||||
val parentRoute = backStackEntry.destination.parent!!.route!!
|
||||
navController.getBackStackEntry(parentRoute)
|
||||
}
|
||||
when (nodeDetailRoute) {
|
||||
NodeDetailRoute.DEVICE -> DeviceMetricsScreen(hiltViewModel(parentEntry))
|
||||
|
|
|
|||
|
|
@ -165,7 +165,8 @@ fun NavGraphBuilder.radioConfigGraph(navController: NavHostController, uiViewMod
|
|||
) {
|
||||
composable<RadioConfigRoutes.RadioConfig> { backStackEntry ->
|
||||
val parentEntry = remember(backStackEntry) {
|
||||
navController.getBackStackEntry<RadioConfigRoutes.RadioConfigGraph>()
|
||||
val parentRoute = backStackEntry.destination.parent!!.route!!
|
||||
navController.getBackStackEntry(parentRoute)
|
||||
}
|
||||
RadioConfigScreen(
|
||||
uiViewModel = uiViewModel,
|
||||
|
|
@ -189,7 +190,8 @@ private fun NavGraphBuilder.configRoutes(
|
|||
ConfigRoute.entries.forEach { configRoute ->
|
||||
composable(configRoute.route::class) { backStackEntry ->
|
||||
val parentEntry = remember(backStackEntry) {
|
||||
navController.getBackStackEntry<RadioConfigRoutes.RadioConfigGraph>()
|
||||
val parentRoute = backStackEntry.destination.parent!!.route!!
|
||||
navController.getBackStackEntry(parentRoute)
|
||||
}
|
||||
when (configRoute) {
|
||||
ConfigRoute.USER -> UserConfigScreen(hiltViewModel(parentEntry))
|
||||
|
|
@ -214,7 +216,8 @@ private fun NavGraphBuilder.moduleRoutes(
|
|||
ModuleRoute.entries.forEach { moduleRoute ->
|
||||
composable(moduleRoute.route::class) { backStackEntry ->
|
||||
val parentEntry = remember(backStackEntry) {
|
||||
navController.getBackStackEntry<RadioConfigRoutes.RadioConfigGraph>()
|
||||
val parentRoute = backStackEntry.destination.parent!!.route!!
|
||||
navController.getBackStackEntry(parentRoute)
|
||||
}
|
||||
when (moduleRoute) {
|
||||
ModuleRoute.MQTT -> MQTTConfigScreen(hiltViewModel(parentEntry))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue