From dec1919204a3324b0a6370748311404d48f55d5f Mon Sep 17 00:00:00 2001 From: ratobing Date: Sun, 3 Jul 2022 21:29:21 +0700 Subject: [PATCH] Create a variable to declare the route concatenated with arguments --- .../core/navigation/NiaNavigationDestination.kt | 8 -------- .../feature/author/navigation/AuthorNavigation.kt | 9 +++------ .../feature/topic/navigation/TopicNavigation.kt | 9 +++------ 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/core-navigation/src/main/java/com/google/samples/apps/nowinandroid/core/navigation/NiaNavigationDestination.kt b/core-navigation/src/main/java/com/google/samples/apps/nowinandroid/core/navigation/NiaNavigationDestination.kt index 8884b70a6..51f66dd1a 100644 --- a/core-navigation/src/main/java/com/google/samples/apps/nowinandroid/core/navigation/NiaNavigationDestination.kt +++ b/core-navigation/src/main/java/com/google/samples/apps/nowinandroid/core/navigation/NiaNavigationDestination.kt @@ -35,12 +35,4 @@ interface NiaNavigationDestination { * destination's route from the route of the entire nested graph it belongs to. */ val destination: String -} - -interface NiaNavigationWithArguments { - - /** - * Defines the arguments on the screen, which will be combined with the screen route. - */ - val routeWithArguments: String } \ No newline at end of file diff --git a/feature-author/src/main/java/com/google/samples/apps/nowinandroid/feature/author/navigation/AuthorNavigation.kt b/feature-author/src/main/java/com/google/samples/apps/nowinandroid/feature/author/navigation/AuthorNavigation.kt index b235ae8fa..e47495a81 100644 --- a/feature-author/src/main/java/com/google/samples/apps/nowinandroid/feature/author/navigation/AuthorNavigation.kt +++ b/feature-author/src/main/java/com/google/samples/apps/nowinandroid/feature/author/navigation/AuthorNavigation.kt @@ -21,23 +21,20 @@ import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigationDestination -import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigationWithArguments import com.google.samples.apps.nowinandroid.feature.author.AuthorRoute -object AuthorDestination : NiaNavigationDestination, NiaNavigationWithArguments { +object AuthorDestination : NiaNavigationDestination { override val route = "author_route" override val destination = "author_destination" const val authorIdArg = "authorId" - - override val routeWithArguments: String - get() = route.plus("/{$authorIdArg}") + val routeWithArgs = "$route/{$authorIdArg}" } fun NavGraphBuilder.authorGraph( onBackClick: () -> Unit ) { composable( - route = AuthorDestination.routeWithArguments, + route = AuthorDestination.routeWithArgs, arguments = listOf( navArgument(AuthorDestination.authorIdArg) { type = NavType.StringType diff --git a/feature-topic/src/main/java/com/google/samples/apps/nowinandroid/feature/topic/navigation/TopicNavigation.kt b/feature-topic/src/main/java/com/google/samples/apps/nowinandroid/feature/topic/navigation/TopicNavigation.kt index e9a1ffa99..ce643662a 100644 --- a/feature-topic/src/main/java/com/google/samples/apps/nowinandroid/feature/topic/navigation/TopicNavigation.kt +++ b/feature-topic/src/main/java/com/google/samples/apps/nowinandroid/feature/topic/navigation/TopicNavigation.kt @@ -21,23 +21,20 @@ import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigationDestination -import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigationWithArguments import com.google.samples.apps.nowinandroid.feature.topic.TopicRoute -object TopicDestination : NiaNavigationDestination, NiaNavigationWithArguments { +object TopicDestination : NiaNavigationDestination { override val route = "topic_route" override val destination = "topic_destination" const val topicIdArg = "topicId" - - override val routeWithArguments: String - get() = route.plus("/{$topicIdArg}") + val routeWithArgs = "$route/{$topicIdArg}" } fun NavGraphBuilder.topicGraph( onBackClick: () -> Unit ) { composable( - route = TopicDestination.routeWithArguments, + route = TopicDestination.routeWithArgs, arguments = listOf( navArgument(TopicDestination.topicIdArg) { type = NavType.StringType