Browse Source

Minor cleanup

arkon 2 years ago
parent
commit
c39a1b7867

+ 6 - 11
app/src/main/java/eu/kanade/presentation/browse/BrowseScreen.kt → app/src/main/java/eu/kanade/presentation/components/TabbedScreen.kt

@@ -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(),

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt

@@ -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(),
 ) {
 

+ 5 - 9
app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt

@@ -20,7 +20,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
@@ -32,11 +31,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.
      */
@@ -45,12 +43,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.
@@ -112,7 +110,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 {
@@ -121,8 +119,6 @@ class DownloadManager(
         }
     }
 
-    fun isPaused() = downloader.isPaused()
-
     /**
      * Reorders the download queue.
      *

+ 5 - 6
app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt

@@ -34,7 +34,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
@@ -59,13 +60,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.
      */

+ 5 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt

@@ -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
@@ -30,13 +31,14 @@ class BrowseController : FullComposeController<BrowsePresenter>, RootController
 
     @Composable
     override fun ComposeContent() {
-        BrowseScreen(
-            startIndex = 1.takeIf { toExtensions },
+        TabbedScreen(
+            titleRes = R.string.browse,
             tabs = listOf(
                 sourcesTab(router, presenter.sourcesPresenter),
                 extensionsTab(router, presenter.extensionsPresenter),
                 migrateSourcesTab(router, presenter.migrationSourcesPresenter),
             ),
+            startIndex = 1.takeIf { toExtensions },
         )
 
         LaunchedEffect(Unit) {

+ 4 - 4
app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsTab.kt

@@ -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()) },
         ),
     ),

+ 3 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourcesTab.kt

@@ -6,9 +6,9 @@ import androidx.compose.runtime.Composable
 import androidx.compose.ui.platform.LocalUriHandler
 import androidx.compose.ui.res.stringResource
 import com.bluelinelabs.conductor.Router
-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.ui.base.controller.pushController
 import eu.kanade.tachiyomi.ui.browse.migration.manga.MigrationMangaController
@@ -17,10 +17,10 @@ import eu.kanade.tachiyomi.ui.browse.migration.manga.MigrationMangaController
 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(

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt

@@ -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
@@ -19,7 +19,7 @@ import eu.kanade.tachiyomi.ui.browse.source.latest.LatestUpdatesController
 fun sourcesTab(
     router: Router?,
     presenter: SourcesPresenter,
-) = BrowseTab(
+) = TabContent(
     titleRes = R.string.label_sources,
     actions = listOf(
         AppBar.Action(