diff options
Diffstat (limited to 'app/src/main/java/org/terst/feedreader/ui/BrowserScreen.kt')
| -rw-r--r-- | app/src/main/java/org/terst/feedreader/ui/BrowserScreen.kt | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/app/src/main/java/org/terst/feedreader/ui/BrowserScreen.kt b/app/src/main/java/org/terst/feedreader/ui/BrowserScreen.kt index 6202016..6eb5b71 100644 --- a/app/src/main/java/org/terst/feedreader/ui/BrowserScreen.kt +++ b/app/src/main/java/org/terst/feedreader/ui/BrowserScreen.kt @@ -50,21 +50,21 @@ fun BrowserScreen(startUrl: String, onBack: () -> Unit) { var title by remember(startUrl) { mutableStateOf<String?>(null) } var webViewRef by remember(startUrl) { mutableStateOf<WebView?>(null) } - BackHandler { - val wv = webViewRef - if (wv != null && wv.canGoBack()) wv.goBack() else onBack() - } + // Deliberately NOT "goBack() if the WebView has history, else exit" -- that means + // however many pages deep a search/login session went (search results -> article -> + // another link -> ...), leaving requires tapping back that many times first. Reported + // live as not making sense for this kind of multi-page browsing. Back always just + // closes the screen now, both the system gesture and the in-app arrow; there's no + // separate in-page-back affordance, matching how every other screen in this app behaves. + BackHandler(onBack = onBack) Scaffold( topBar = { TopAppBar( title = { Text(title ?: "Browser", maxLines = 1, overflow = TextOverflow.Ellipsis) }, navigationIcon = { - IconButton(onClick = { - val wv = webViewRef - if (wv != null && wv.canGoBack()) wv.goBack() else onBack() - }) { - Icon(Icons.Default.ArrowBack, contentDescription = "Back") + IconButton(onClick = onBack) { + Icon(Icons.Default.ArrowBack, contentDescription = "Close browser") } }, actions = { |
