mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Minor cleanup
This commit is contained in:
		| @@ -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(), | ||||
| @@ -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(), | ||||
| ) { | ||||
|  | ||||
|   | ||||
| @@ -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. | ||||
|      * | ||||
|   | ||||
| @@ -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. | ||||
|      */ | ||||
|   | ||||
| @@ -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) { | ||||
|   | ||||
| @@ -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()) }, | ||||
|         ), | ||||
|     ), | ||||
|   | ||||
| @@ -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( | ||||
|   | ||||
| @@ -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( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user