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 | 14 |
1 files changed, 13 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 95ef71e..bd09393 100644 --- a/app/src/main/java/org/terst/feedreader/ui/MainActivity.kt +++ b/app/src/main/java/org/terst/feedreader/ui/MainActivity.kt @@ -1,6 +1,7 @@ package org.terst.feedreader.ui import android.os.Bundle +import android.webkit.CookieManager import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.fillMaxSize @@ -28,6 +29,9 @@ class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) FeedFetchWorker.schedulePeriodic(applicationContext) + // Explicit, even though it defaults on -- BrowserScreen relies on cookies set + // during a site login surviving into the reader's later extraction requests. + CookieManager.getInstance().setAcceptCookie(true) setContent { // Dark by default -- per user request, not following system light/dark for now. @@ -85,7 +89,8 @@ fun FeedReaderApp() { feedId = feedId, initialArticleId = articleId, onBack = { navController.popBackStack() }, - onOpenLink = { url -> navController.navigate("linkReader/${encodeNavArg(url)}") } + onOpenLink = { url -> navController.navigate("linkReader/${encodeNavArg(url)}") }, + onOpenBrowser = { url -> navController.navigate("browser/${encodeNavArg(url)}") } ) } composable( @@ -101,6 +106,13 @@ fun FeedReaderApp() { onOpenLink = { nextUrl -> navController.navigate("linkReader/${encodeNavArg(nextUrl)}") } ) } + composable( + "browser/{url}", + arguments = listOf(navArgument("url") { type = NavType.StringType }) + ) { backStackEntry -> + val url = decodeNavArg(backStackEntry.arguments?.getString("url") ?: "") + BrowserScreen(startUrl = url, onBack = { navController.popBackStack() }) + } composable("addFeed") { AddFeedScreen(onDone = { navController.popBackStack() }) } |
