diff options
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.kt | 11 |
1 files changed, 10 insertions, 1 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 0d17ab8..f7ca043 100644 --- a/app/src/main/java/org/terst/feedreader/ui/MainActivity.kt +++ b/app/src/main/java/org/terst/feedreader/ui/MainActivity.kt @@ -108,7 +108,16 @@ fun FeedReaderApp() { LinkReaderScreen( url = url, onBack = { navController.popBackStack() }, - onOpenLink = { nextUrl -> navController.navigate("linkReader/${encodeNavArg(nextUrl)}") }, + // Replaces the current linkReader entry rather than stacking another one on + // top -- otherwise a chain of links-within-links (A -> link -> B -> link -> C) + // made back step through the chain one hop at a time (C -> B -> A) instead of + // returning straight to the source article A, which is what "back" actually + // means here: leaving the link-reading detour, not undoing it one link at a time. + onOpenLink = { nextUrl -> + navController.navigate("linkReader/${encodeNavArg(nextUrl)}") { + popUpTo("linkReader/{url}") { inclusive = true } + } + }, onOpenBrowser = { browserUrl -> navController.navigate("browser/${encodeNavArg(browserUrl)}") } ) } |
