summaryrefslogtreecommitdiff
path: root/app/src/main/java/org/terst/feedreader/ui/MainActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/terst/feedreader/ui/MainActivity.kt')
-rw-r--r--app/src/main/java/org/terst/feedreader/ui/MainActivity.kt16
1 files changed, 12 insertions, 4 deletions
diff --git a/app/src/main/java/org/terst/feedreader/ui/MainActivity.kt b/app/src/main/java/org/terst/feedreader/ui/MainActivity.kt
index c080d89..e1300f0 100644
--- a/app/src/main/java/org/terst/feedreader/ui/MainActivity.kt
+++ b/app/src/main/java/org/terst/feedreader/ui/MainActivity.kt
@@ -63,17 +63,25 @@ fun FeedReaderApp() {
val feedId = decodeNavArg(backStackEntry.arguments?.getString("feedId") ?: UNREAD_FEED_ID)
ArticleListScreen(
feedId = feedId,
- onOpenArticle = { articleId -> navController.navigate("reader/${encodeNavArg(articleId)}") },
+ onOpenArticle = { articleId ->
+ navController.navigate("reader/${encodeNavArg(feedId)}/${encodeNavArg(articleId)}")
+ },
onBack = { navController.popBackStack() },
onOpenFeedList = { navController.navigate("feeds") }
)
}
composable(
- "reader/{articleId}",
- arguments = listOf(navArgument("articleId") { type = NavType.StringType })
+ "reader/{feedId}/{articleId}",
+ arguments = listOf(
+ navArgument("feedId") { type = NavType.StringType },
+ navArgument("articleId") { type = NavType.StringType }
+ )
) { backStackEntry ->
+ val feedId = decodeNavArg(backStackEntry.arguments?.getString("feedId") ?: UNREAD_FEED_ID)
val articleId = decodeNavArg(backStackEntry.arguments?.getString("articleId") ?: "")
- ReaderScreen(articleId = articleId, onBack = { navController.popBackStack() })
+ // feedId here is the list the article was opened from (Unread/Saved/a specific
+ // feed) -- ReaderScreen uses it to build the swipe queue of sibling articles.
+ ReaderScreen(feedId = feedId, initialArticleId = articleId, onBack = { navController.popBackStack() })
}
composable("addFeed") {
AddFeedScreen(onDone = { navController.popBackStack() })