Voyager on More tab (#8498)

(cherry picked from commit 340357d158)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MorePresenter.kt
This commit is contained in:
Ivan Iskandar
2022-11-11 10:08:18 +07:00
committed by Jobobby04
parent 70dff5ef5f
commit 13db6c1a7a
4 changed files with 136 additions and 107 deletions
@@ -17,8 +17,6 @@ import androidx.compose.material.icons.outlined.PlaylistAdd
import androidx.compose.material.icons.outlined.Settings
import androidx.compose.material.icons.outlined.SettingsBackupRestore
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalUriHandler
@@ -34,13 +32,20 @@ import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.more.DownloadQueueState
import eu.kanade.tachiyomi.ui.more.MoreController
import eu.kanade.tachiyomi.ui.more.MorePresenter
import eu.kanade.tachiyomi.widget.TachiyomiBottomNavigationView
@Composable
fun MoreScreen(
presenter: MorePresenter,
downloadQueueStateProvider: () -> DownloadQueueState,
downloadedOnly: Boolean,
onDownloadedOnlyChange: (Boolean) -> Unit,
incognitoMode: Boolean,
onIncognitoModeChange: (Boolean) -> Unit,
isFDroid: Boolean,
// SY -->
showNavUpdates: Boolean,
showNavHistory: Boolean,
// SY <--
onClickDownloadQueue: () -> Unit,
onClickCategories: () -> Unit,
onClickBackupAndRestore: () -> Unit,
@@ -51,7 +56,6 @@ fun MoreScreen(
onClickHistory: () -> Unit,
) {
val uriHandler = LocalUriHandler.current
val downloadQueueState by presenter.downloadQueueState.collectAsState()
ScrollbarLazyColumn(
modifier = Modifier.statusBarsPadding(),
@@ -76,8 +80,8 @@ fun MoreScreen(
item {
AppStateBanners(
downloadedOnlyMode = presenter.downloadedOnly.value,
incognitoMode = presenter.incognitoMode.value,
downloadedOnlyMode = downloadedOnly,
incognitoMode = incognitoMode,
)
}
@@ -86,8 +90,8 @@ fun MoreScreen(
title = stringResource(R.string.label_downloaded_only),
subtitle = stringResource(R.string.downloaded_only_summary),
icon = Icons.Outlined.CloudOff,
checked = presenter.downloadedOnly.value,
onCheckedChanged = { presenter.downloadedOnly.value = it },
checked = downloadedOnly,
onCheckedChanged = onDownloadedOnlyChange,
)
}
item {
@@ -95,15 +99,15 @@ fun MoreScreen(
title = stringResource(R.string.pref_incognito_mode),
subtitle = stringResource(R.string.pref_incognito_mode_summary),
icon = ImageVector.vectorResource(R.drawable.ic_glasses_24dp),
checked = presenter.incognitoMode.value,
onCheckedChanged = { presenter.incognitoMode.value = it },
checked = incognitoMode,
onCheckedChanged = onIncognitoModeChange,
)
}
item { Divider() }
// SY -->
if (!presenter.showNavUpdates.value) {
if (!showNavUpdates) {
item {
TextPreferenceWidget(
title = stringResource(R.string.label_recent_updates),
@@ -112,7 +116,7 @@ fun MoreScreen(
)
}
}
if (!presenter.showNavHistory.value) {
if (!showNavHistory) {
item {
TextPreferenceWidget(
title = stringResource(R.string.label_recent_manga),
@@ -124,12 +128,13 @@ fun MoreScreen(
// SY <--
item {
val downloadQueueState = downloadQueueStateProvider()
TextPreferenceWidget(
title = stringResource(R.string.label_download_queue),
subtitle = when (downloadQueueState) {
DownloadQueueState.Stopped -> null
is DownloadQueueState.Paused -> {
val pending = (downloadQueueState as DownloadQueueState.Paused).pending
val pending = downloadQueueState.pending
if (pending == 0) {
stringResource(R.string.paused)
} else {
@@ -143,7 +148,7 @@ fun MoreScreen(
}
}
is DownloadQueueState.Downloading -> {
val pending = (downloadQueueState as DownloadQueueState.Downloading).pending
val pending = downloadQueueState.pending
pluralStringResource(id = R.plurals.download_queue_summary, count = pending, pending)
}
},