Minor cleanup

(cherry picked from commit c39a1b7867976bddc85d3bfbffeeb717b8bf4501)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourcesTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt
This commit is contained in:
arkon 2022-08-31 14:43:58 -04:00 committed by Jobobby04
parent 16ea8aa3b7
commit 9318b0d803
10 changed files with 35 additions and 42 deletions

View File

@ -9,9 +9,10 @@ import androidx.compose.ui.res.stringResource
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.AppBarActions
import eu.kanade.presentation.components.Scaffold
import eu.kanade.presentation.components.TabContent
@Composable
fun BrowseTabWrapper(tab: BrowseTab) {
fun BrowseTabWrapper(tab: TabContent) {
Scaffold(
modifier = Modifier.statusBarsPadding(),
topBar = {

View File

@ -1,4 +1,4 @@
package eu.kanade.presentation.browse
package eu.kanade.presentation.components
import androidx.annotation.StringRes
import androidx.compose.foundation.layout.Column
@ -15,18 +15,13 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import com.google.accompanist.pager.HorizontalPager
import com.google.accompanist.pager.rememberPagerState
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.AppBarActions
import eu.kanade.presentation.components.Scaffold
import eu.kanade.presentation.components.TabIndicator
import eu.kanade.presentation.components.TabText
import eu.kanade.tachiyomi.R
import kotlinx.coroutines.launch
@Composable
fun BrowseScreen(
fun TabbedScreen(
@StringRes titleRes: Int,
tabs: List<TabContent>,
startIndex: Int? = null,
tabs: List<BrowseTab>,
) {
val scope = rememberCoroutineScope()
val state = rememberPagerState()
@ -41,7 +36,7 @@ fun BrowseScreen(
modifier = Modifier.statusBarsPadding(),
topBar = {
AppBar(
title = stringResource(R.string.browse),
title = stringResource(titleRes),
actions = {
AppBarActions(tabs[state.currentPage].actions)
},
@ -76,7 +71,7 @@ fun BrowseScreen(
}
}
data class BrowseTab(
data class TabContent(
@StringRes val titleRes: Int,
val badgeNumber: Int? = null,
val actions: List<AppBar.Action> = emptyList(),

View File

@ -26,7 +26,7 @@ import java.util.concurrent.TimeUnit
class DownloadCache(
private val context: Context,
private val provider: DownloadProvider,
private val sourceManager: SourceManager,
private val sourceManager: SourceManager = Injekt.get(),
private val preferences: PreferencesHelper = Injekt.get(),
) {

View File

@ -22,7 +22,6 @@ import logcat.LogPriority
import rx.Observable
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
/**
* This class is used to manage chapter downloads in the application. It must be instantiated once
@ -34,11 +33,10 @@ import uy.kohesive.injekt.injectLazy
class DownloadManager(
private val context: Context,
private val getCategories: GetCategories = Injekt.get(),
private val sourceManager: SourceManager = Injekt.get(),
private val preferences: PreferencesHelper = Injekt.get(),
) {
private val sourceManager: SourceManager by injectLazy()
private val preferences: PreferencesHelper by injectLazy()
/**
* Downloads provider, used to retrieve the folders where the chapters are or should be stored.
*/
@ -47,12 +45,12 @@ class DownloadManager(
/**
* Cache of downloaded chapters.
*/
private val cache = DownloadCache(context, provider, sourceManager)
private val cache = DownloadCache(context, provider)
/**
* Downloader whose only task is to download chapters.
*/
private val downloader = Downloader(context, provider, cache, sourceManager)
private val downloader = Downloader(context, provider, cache)
/**
* Queue to delay the deletion of a list of chapters until triggered.
@ -114,7 +112,7 @@ class DownloadManager(
download?.let { queue.remove(it) }
queue.add(0, toAdd)
reorderQueue(queue)
if (isPaused()) {
if (downloader.isPaused()) {
if (DownloadService.isRunning(context)) {
downloader.start()
} else {
@ -123,8 +121,6 @@ class DownloadManager(
}
}
fun isPaused() = downloader.isPaused()
/**
* Reorders the download queue.
*

View File

@ -36,7 +36,8 @@ import rx.Observable
import rx.android.schedulers.AndroidSchedulers
import rx.schedulers.Schedulers
import rx.subscriptions.CompositeSubscription
import uy.kohesive.injekt.injectLazy
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.io.BufferedOutputStream
import java.io.File
import java.util.zip.CRC32
@ -61,13 +62,11 @@ class Downloader(
private val context: Context,
private val provider: DownloadProvider,
private val cache: DownloadCache,
private val sourceManager: SourceManager,
private val sourceManager: SourceManager = Injekt.get(),
private val chapterCache: ChapterCache = Injekt.get(),
private val preferences: PreferencesHelper = Injekt.get(),
) {
private val chapterCache: ChapterCache by injectLazy()
private val preferences: PreferencesHelper by injectLazy()
/**
* Store for persisting downloads across restarts.
*/

View File

@ -6,7 +6,8 @@ import android.view.View
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.core.os.bundleOf
import eu.kanade.presentation.browse.BrowseScreen
import eu.kanade.presentation.components.TabbedScreen
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.base.controller.FullComposeController
import eu.kanade.tachiyomi.ui.base.controller.RootController
import eu.kanade.tachiyomi.ui.base.controller.requestPermissionsSafe
@ -31,9 +32,9 @@ class BrowseController : FullComposeController<BrowsePresenter>, RootController
@Composable
override fun ComposeContent() {
BrowseScreen(
TabbedScreen(
titleRes = R.string.browse,
// SY -->
startIndex = 2.takeIf { toExtensions },
tabs = (
if (presenter.feedTabInFront) listOf(
feedTab(router, presenter.feedPresenter),
@ -46,6 +47,7 @@ class BrowseController : FullComposeController<BrowsePresenter>, RootController
extensionsTab(router, presenter.extensionsPresenter),
migrateSourcesTab(router, presenter.migrationSourcesPresenter),
),
startIndex = 2.takeIf { toExtensions },
// SY <--
)

View File

@ -1,14 +1,14 @@
package eu.kanade.tachiyomi.ui.browse.extension
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.FilterList
import androidx.compose.material.icons.outlined.Search
import androidx.compose.material.icons.outlined.Translate
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import com.bluelinelabs.conductor.Router
import eu.kanade.presentation.browse.BrowseTab
import eu.kanade.presentation.browse.ExtensionScreen
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.TabContent
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.extension.model.Extension
import eu.kanade.tachiyomi.ui.base.controller.pushController
@ -18,7 +18,7 @@ import eu.kanade.tachiyomi.ui.browse.extension.details.ExtensionDetailsControlle
fun extensionsTab(
router: Router?,
presenter: ExtensionsPresenter,
) = BrowseTab(
) = TabContent(
titleRes = R.string.label_extensions,
badgeNumber = presenter.updates.takeIf { it > 0 },
actions = listOf(
@ -33,7 +33,7 @@ fun extensionsTab(
AppBar.Action(
title = stringResource(R.string.action_filter),
icon = Icons.Outlined.FilterList,
icon = Icons.Outlined.Translate,
onClick = { router?.pushController(ExtensionFilterController()) },
),
),

View File

@ -5,9 +5,9 @@ import androidx.compose.material.icons.outlined.Add
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import com.bluelinelabs.conductor.Router
import eu.kanade.presentation.browse.BrowseTab
import eu.kanade.presentation.browse.FeedScreen
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.TabContent
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController
@ -18,7 +18,7 @@ import eu.kanade.tachiyomi.ui.manga.MangaController
fun feedTab(
router: Router?,
presenter: FeedPresenter,
) = BrowseTab(
) = TabContent(
titleRes = R.string.feed,
actions = listOf(
AppBar.Action(

View File

@ -7,9 +7,9 @@ import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.stringResource
import com.bluelinelabs.conductor.Router
import eu.kanade.domain.manga.interactor.GetFavorites
import eu.kanade.presentation.browse.BrowseTab
import eu.kanade.presentation.browse.MigrateSourceScreen
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.TabContent
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.ui.base.controller.pushController
@ -24,10 +24,10 @@ import uy.kohesive.injekt.api.get
fun migrateSourcesTab(
router: Router?,
presenter: MigrationSourcesPresenter,
): BrowseTab {
): TabContent {
val uriHandler = LocalUriHandler.current
return BrowseTab(
return TabContent(
titleRes = R.string.label_migration,
actions = listOf(
AppBar.Action(

View File

@ -6,9 +6,9 @@ import androidx.compose.material.icons.outlined.TravelExplore
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import com.bluelinelabs.conductor.Router
import eu.kanade.presentation.browse.BrowseTab
import eu.kanade.presentation.browse.SourcesScreen
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.TabContent
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.base.controller.pushController
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController
@ -21,7 +21,7 @@ import exh.ui.smartsearch.SmartSearchController
fun sourcesTab(
router: Router?,
presenter: SourcesPresenter,
) = BrowseTab(
) = TabContent(
// SY -->
titleRes = when (presenter.controllerMode) {
SourcesController.Mode.CATALOGUE -> R.string.label_sources