Fix missing downloaded only/incognito banners in Browse Source (#7936)

(cherry picked from commit 99270e370e1aba37c3ab5d8954363dd335ca0353)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
This commit is contained in:
Ivan Iskandar 2022-09-04 22:14:37 +07:00 committed by Jobobby04
parent 1ffba5b989
commit 25ad9c7fab
3 changed files with 36 additions and 14 deletions

View File

@ -2,6 +2,7 @@ package eu.kanade.presentation.browse
import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.horizontalScroll
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.navigationBarsPadding
@ -41,8 +42,10 @@ import eu.kanade.presentation.browse.components.BrowseSourceCompactGrid
import eu.kanade.presentation.browse.components.BrowseSourceEHentaiList import eu.kanade.presentation.browse.components.BrowseSourceEHentaiList
import eu.kanade.presentation.browse.components.BrowseSourceList import eu.kanade.presentation.browse.components.BrowseSourceList
import eu.kanade.presentation.browse.components.BrowseSourceToolbar import eu.kanade.presentation.browse.components.BrowseSourceToolbar
import eu.kanade.presentation.components.DownloadedOnlyModeBanner
import eu.kanade.presentation.components.EmptyScreen import eu.kanade.presentation.components.EmptyScreen
import eu.kanade.presentation.components.ExtendedFloatingActionButton import eu.kanade.presentation.components.ExtendedFloatingActionButton
import eu.kanade.presentation.components.IncognitoModeBanner
import eu.kanade.presentation.components.LoadingScreen import eu.kanade.presentation.components.LoadingScreen
import eu.kanade.presentation.components.Scaffold import eu.kanade.presentation.components.Scaffold
import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.R
@ -65,6 +68,8 @@ fun BrowseSourceScreen(
// SY --> // SY -->
onSettingsClick: () -> Unit, onSettingsClick: () -> Unit,
// SY <-- // SY <--
incognitoMode: Boolean,
downloadedOnlyMode: Boolean,
) { ) {
val columns by presenter.getColumnsPreferenceForCurrentOrientation() val columns by presenter.getColumnsPreferenceForCurrentOrientation()
@ -80,6 +85,7 @@ fun BrowseSourceScreen(
Scaffold( Scaffold(
topBar = { scrollBehavior -> topBar = { scrollBehavior ->
Column {
BrowseSourceToolbar( BrowseSourceToolbar(
state = presenter, state = presenter,
source = presenter.source!!, source = presenter.source!!,
@ -94,6 +100,13 @@ fun BrowseSourceScreen(
// SY <-- // SY <--
scrollBehavior = scrollBehavior, scrollBehavior = scrollBehavior,
) )
if (downloadedOnlyMode) {
DownloadedOnlyModeBanner()
}
if (incognitoMode) {
IncognitoModeBanner()
}
}
}, },
floatingActionButton = { floatingActionButton = {
BrowseSourceFloatingActionButton( BrowseSourceFloatingActionButton(

View File

@ -143,6 +143,8 @@ open class BrowseSourceController(bundle: Bundle) :
router.pushController(SourcePreferencesController(presenter.source!!.id)) router.pushController(SourcePreferencesController(presenter.source!!.id))
}, },
// SY <-- // SY <--
incognitoMode = presenter.isIncognitoMode,
downloadedOnlyMode = presenter.isDownloadOnly,
) )
val onDismissRequest = { presenter.dialog = null } val onDismissRequest = { presenter.dialog = null }

View File

@ -135,7 +135,12 @@ open class BrowseSourcePresenter(
var displayMode by preferences.sourceDisplayMode().asState() var displayMode by preferences.sourceDisplayMode().asState()
val isDownloadOnly: Boolean by preferences.downloadedOnly().asState()
val isIncognitoMode: Boolean by preferences.incognitoMode().asState()
// SY -->
val ehentaiBrowseDisplayMode by preferences.enhancedEHentaiView().asState() val ehentaiBrowseDisplayMode by preferences.enhancedEHentaiView().asState()
// SY <--
@Composable @Composable
fun getColumnsPreferenceForCurrentOrientation(): State<GridCells> { fun getColumnsPreferenceForCurrentOrientation(): State<GridCells> {
@ -184,6 +189,7 @@ open class BrowseSourcePresenter(
} }
} }
// SY -->
@Composable @Composable
open fun getRaisedSearchMetadata(manga: DomainManga, initialMetadata: RaisedSearchMetadata?): State<RaisedSearchMetadata?> { open fun getRaisedSearchMetadata(manga: DomainManga, initialMetadata: RaisedSearchMetadata?): State<RaisedSearchMetadata?> {
return produceState(initialValue = initialMetadata, manga.id) { return produceState(initialValue = initialMetadata, manga.id) {
@ -195,6 +201,7 @@ open class BrowseSourcePresenter(
} }
} }
} }
// SY <--
fun setFilter(filters: FilterList) { fun setFilter(filters: FilterList) {
state.filters = filters state.filters = filters