diff --git a/app/src/main/java/eu/kanade/domain/source/interactor/GetShowLatest.kt b/app/src/main/java/eu/kanade/domain/source/interactor/GetShowLatest.kt index e9262b923..c0d2178c6 100644 --- a/app/src/main/java/eu/kanade/domain/source/interactor/GetShowLatest.kt +++ b/app/src/main/java/eu/kanade/domain/source/interactor/GetShowLatest.kt @@ -1,7 +1,7 @@ package eu.kanade.domain.source.interactor import eu.kanade.tachiyomi.data.preference.PreferencesHelper -import eu.kanade.tachiyomi.ui.browse.source.SourceController +import eu.kanade.tachiyomi.ui.browse.source.SourcesController import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map @@ -9,10 +9,10 @@ class GetShowLatest( private val preferences: PreferencesHelper, ) { - fun subscribe(mode: SourceController.Mode): Flow { + fun subscribe(mode: SourcesController.Mode): Flow { return preferences.useNewSourceNavigation().asFlow() .map { - mode == SourceController.Mode.CATALOGUE && !it + mode == SourcesController.Mode.CATALOGUE && !it } } } diff --git a/app/src/main/java/eu/kanade/presentation/extension/ExtensionScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt similarity index 98% rename from app/src/main/java/eu/kanade/presentation/extension/ExtensionScreen.kt rename to app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt index 4b0f12e63..6d3a4c837 100644 --- a/app/src/main/java/eu/kanade/presentation/extension/ExtensionScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt @@ -1,4 +1,4 @@ -package eu.kanade.presentation.extension +package eu.kanade.presentation.browse import androidx.annotation.StringRes import androidx.compose.foundation.combinedClickable @@ -49,16 +49,16 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.extension.model.Extension import eu.kanade.tachiyomi.extension.model.InstallStep import eu.kanade.tachiyomi.source.ConfigurableSource -import eu.kanade.tachiyomi.ui.browse.extension.ExtensionPresenter import eu.kanade.tachiyomi.ui.browse.extension.ExtensionState import eu.kanade.tachiyomi.ui.browse.extension.ExtensionUiModel +import eu.kanade.tachiyomi.ui.browse.extension.ExtensionsPresenter import eu.kanade.tachiyomi.util.system.LocaleHelper import exh.source.anyIs @Composable fun ExtensionScreen( nestedScrollInterop: NestedScrollConnection, - presenter: ExtensionPresenter, + presenter: ExtensionsPresenter, onLongClickItem: (Extension) -> Unit, onClickItemCancel: (Extension) -> Unit, onInstallExtension: (Extension.Available) -> Unit, @@ -115,6 +115,7 @@ fun ExtensionContent( ) { val (trustState, setTrustState) = remember { mutableStateOf(null) } LazyColumn( + modifier = Modifier.nestedScroll(nestedScrollInterop), contentPadding = WindowInsets.navigationBars.asPaddingValues() + topPaddingValues, ) { items( diff --git a/app/src/main/java/eu/kanade/presentation/browse/SourceScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt similarity index 98% rename from app/src/main/java/eu/kanade/presentation/browse/SourceScreen.kt rename to app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt index f9d4794b5..f544b69de 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/SourceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt @@ -44,14 +44,14 @@ import eu.kanade.presentation.util.plus import eu.kanade.presentation.util.topPaddingValues import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.source.LocalSource -import eu.kanade.tachiyomi.ui.browse.source.SourcePresenter import eu.kanade.tachiyomi.ui.browse.source.SourceState +import eu.kanade.tachiyomi.ui.browse.source.SourcesPresenter import eu.kanade.tachiyomi.util.system.LocaleHelper @Composable -fun SourceScreen( +fun SourcesScreen( nestedScrollInterop: NestedScrollConnection, - presenter: SourcePresenter, + presenter: SourcesPresenter, onClickItem: (Source) -> Unit, onClickDisable: (Source) -> Unit, onClickLatest: (Source) -> Unit, @@ -104,8 +104,7 @@ fun SourceList( val (sourceCategoriesState, setSourceCategoriesState) = remember { mutableStateOf(null) } // SY <-- LazyColumn( - modifier = Modifier - .nestedScroll(nestedScrollConnection), + modifier = Modifier.nestedScroll(nestedScrollConnection), contentPadding = WindowInsets.navigationBars.asPaddingValues() + topPaddingValues, ) { items( diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt index 7d38626b6..24b9af7f3 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/App.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/App.kt @@ -76,7 +76,7 @@ import java.text.SimpleDateFormat import java.util.Locale import kotlin.time.Duration.Companion.days -open class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory { +class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory { private val preferences: PreferencesHelper by injectLazy() diff --git a/app/src/main/java/eu/kanade/tachiyomi/AppModule.kt b/app/src/main/java/eu/kanade/tachiyomi/AppModule.kt index 6c273746b..0fd5f4f9f 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/AppModule.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/AppModule.kt @@ -72,7 +72,7 @@ class AppModule(val app: Application) : InjektModule { addSingletonFactory { PreferencesHelper(app) } - addSingletonFactory { DatabaseHelper(app, get()) } + addSingletonFactory { DatabaseHelper(get()) } addSingletonFactory { ChapterCache(app) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt index 5c353db6b..cad0dd9db 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.data.database -import android.content.Context import androidx.sqlite.db.SupportSQLiteOpenHelper import com.pushtorefresh.storio.sqlite.impl.DefaultStorIOSQLite import eu.kanade.tachiyomi.data.database.mappers.CategoryTypeMapping @@ -44,8 +43,7 @@ import exh.savedsearches.models.SavedSearch /** * This class provides operations to manage the database through its interfaces. */ -open class DatabaseHelper( - context: Context, +class DatabaseHelper( openHelper: SupportSQLiteOpenHelper, ) : MangaQueries, diff --git a/app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt b/app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt index e7b29e25e..453b0a080 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt @@ -11,8 +11,8 @@ import eu.kanade.tachiyomi.network.NetworkHelper import eu.kanade.tachiyomi.network.await import eu.kanade.tachiyomi.network.parseAs import eu.kanade.tachiyomi.util.lang.withIOContext -import exh.source.BlacklistedSources import eu.kanade.tachiyomi.util.system.logcat +import exh.source.BlacklistedSources import kotlinx.serialization.Serializable import logcat.LogPriority import uy.kohesive.injekt.injectLazy @@ -107,7 +107,7 @@ internal class ExtensionGithubApi { private fun List.toExtensions( // SY --> repoUrl: String = getUrlPrefix(), - repoSource: Boolean = false + repoSource: Boolean = false, // SY <-- ): List { return this @@ -130,7 +130,7 @@ internal class ExtensionGithubApi { iconUrl = "${/* SY --> */ repoUrl /* SY <-- */}icon/${it.apk.replace(".apk", ".png")}", // SY --> repoUrl = repoUrl, - isRepoSource = repoSource + isRepoSource = repoSource, // SY <-- ) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt b/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt index a15e613ae..b4fe30945 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt @@ -46,7 +46,7 @@ import tachiyomi.source.model.MangaInfo import uy.kohesive.injekt.injectLazy import kotlin.reflect.KClass -open class SourceManager(private val context: Context) { +class SourceManager(private val context: Context) { private val sourcesMap = mutableMapOf() private val stubSourcesMap = mutableMapOf() @@ -84,7 +84,7 @@ open class SourceManager(private val context: Context) { // SY <-- } - open fun get(sourceKey: Long): Source? { + fun get(sourceKey: Long): Source? { return sourcesMap[sourceKey] } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt index 76a774e70..440dbbf3b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt @@ -19,10 +19,10 @@ import eu.kanade.tachiyomi.databinding.PagerControllerBinding import eu.kanade.tachiyomi.ui.base.controller.RootController import eu.kanade.tachiyomi.ui.base.controller.RxController import eu.kanade.tachiyomi.ui.base.controller.TabbedController -import eu.kanade.tachiyomi.ui.browse.extension.ExtensionController +import eu.kanade.tachiyomi.ui.browse.extension.ExtensionsController import eu.kanade.tachiyomi.ui.browse.feed.FeedController import eu.kanade.tachiyomi.ui.browse.migration.sources.MigrationSourcesController -import eu.kanade.tachiyomi.ui.browse.source.SourceController +import eu.kanade.tachiyomi.ui.browse.source.SourcesController import eu.kanade.tachiyomi.ui.main.MainActivity import uy.kohesive.injekt.injectLazy @@ -144,10 +144,10 @@ class BrowseController : if (!router.hasRootController()) { val controller: Controller = when (position) { // SY --> - SOURCES_CONTROLLER -> if (preferences.feedTabInFront().get()) FeedController() else SourceController() - FEED_CONTROLLER -> if (!preferences.feedTabInFront().get()) FeedController() else SourceController() + SOURCES_CONTROLLER -> if (preferences.feedTabInFront().get()) FeedController() else SourcesController() + FEED_CONTROLLER -> if (!preferences.feedTabInFront().get()) FeedController() else SourcesController() // SY <-- - EXTENSIONS_CONTROLLER -> ExtensionController() + EXTENSIONS_CONTROLLER -> ExtensionsController() MIGRATION_CONTROLLER -> MigrationSourcesController() else -> error("Wrong position $position") } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsController.kt similarity index 91% rename from app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionController.kt rename to app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsController.kt index 8112692b7..abb33f7ad 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsController.kt @@ -8,7 +8,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.input.nestedscroll.NestedScrollConnection import com.bluelinelabs.conductor.ControllerChangeHandler import com.bluelinelabs.conductor.ControllerChangeType -import eu.kanade.presentation.extension.ExtensionScreen +import eu.kanade.presentation.browse.ExtensionScreen import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.extension.model.Extension import eu.kanade.tachiyomi.ui.base.controller.ComposeController @@ -20,11 +20,7 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.appcompat.queryTextChanges -/** - * Controller to manage the catalogues available in the app. - */ -open class ExtensionController : - ComposeController() { +class ExtensionsController : ComposeController() { private var query = "" @@ -32,11 +28,9 @@ open class ExtensionController : setHasOptionsMenu(true) } - override fun getTitle(): String? = - applicationContext?.getString(R.string.label_extensions) + override fun getTitle() = applicationContext?.getString(R.string.label_extensions) - override fun createPresenter(): ExtensionPresenter = - ExtensionPresenter() + override fun createPresenter() = ExtensionsPresenter() @Composable override fun ComposeContent(nestedScrollInterop: NestedScrollConnection) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsPresenter.kt similarity index 98% rename from app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionPresenter.kt rename to app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsPresenter.kt index 76b38aa06..48cbe3e5f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsPresenter.kt @@ -26,14 +26,11 @@ import rx.Observable import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -/** - * Presenter of [ExtensionController]. - */ -open class ExtensionPresenter( +class ExtensionsPresenter( private val extensionManager: ExtensionManager = Injekt.get(), private val getExtensionUpdates: GetExtensionUpdates = Injekt.get(), private val getExtensions: GetExtensions = Injekt.get(), -) : BasePresenter() { +) : BasePresenter() { private val _query: MutableStateFlow = MutableStateFlow("") diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesController.kt similarity index 92% rename from app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt rename to app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesController.kt index cd3d92474..462474312 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesController.kt @@ -13,7 +13,7 @@ import androidx.compose.ui.input.nestedscroll.NestedScrollConnection import androidx.core.os.bundleOf import com.bluelinelabs.conductor.Controller import eu.kanade.domain.source.model.Source -import eu.kanade.presentation.browse.SourceScreen +import eu.kanade.presentation.browse.SourcesScreen import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.ui.base.controller.SearchableComposeController @@ -28,11 +28,7 @@ import exh.ui.smartsearch.SmartSearchController import kotlinx.parcelize.Parcelize import uy.kohesive.injekt.injectLazy -/** - * This controller shows and manages the different catalogues enabled by the user. - * This controller should only handle UI actions, IO actions should be done by [SourcePresenter] - */ -class SourceController(bundle: Bundle? = null) : SearchableComposeController(bundle) { +class SourcesController(bundle: Bundle? = null) : SearchableComposeController(bundle) { private val preferences: PreferencesHelper by injectLazy() @@ -57,12 +53,11 @@ class SourceController(bundle: Bundle? = null) : SearchableComposeController */ controllerMode = mode /* SY <-- */) + override fun createPresenter() = SourcesPresenter(/* SY --> */ controllerMode = mode /* SY <-- */) @Composable override fun ComposeContent(nestedScrollInterop: NestedScrollConnection) { - SourceScreen( + SourcesScreen( nestedScrollInterop = nestedScrollInterop, presenter = presenter, onClickItem = { source -> @@ -97,6 +92,7 @@ class SourceController(bundle: Bundle? = null) : SearchableComposeController() { +) : BasePresenter() { private val _state: MutableStateFlow = MutableStateFlow(SourceState.Loading) val state: StateFlow = _state.asStateFlow() @@ -52,7 +48,7 @@ class SourcePresenter( getEnabledSources.subscribe(), getSourceCategories.subscribe(), getShowLatest.subscribe(controllerMode), - flowOf(controllerMode == SourceController.Mode.CATALOGUE), + flowOf(controllerMode == SourcesController.Mode.CATALOGUE), ::collectLatestSources, ) .catch { exception -> @@ -63,9 +59,9 @@ class SourcePresenter( // SY <-- } - private suspend fun collectLatestSources(sources: List, categories: Set, showLatest: Boolean, showPin: Boolean) { + private fun collectLatestSources(sources: List, categories: Set, showLatest: Boolean, showPin: Boolean) { val map = TreeMap> { d1, d2 -> - // Catalogues without a lang defined will be placed at the end + // Sources without a lang defined will be placed at the end when { d1 == LAST_USED_KEY && d2 != LAST_USED_KEY -> -1 d2 == LAST_USED_KEY && d1 != LAST_USED_KEY -> 1 diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt index 2fdd0b0a6..181244079 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt @@ -37,7 +37,7 @@ import eu.kanade.tachiyomi.ui.base.controller.FabController import eu.kanade.tachiyomi.ui.base.controller.SearchableNucleusController import eu.kanade.tachiyomi.ui.base.controller.pushController import eu.kanade.tachiyomi.ui.browse.extension.details.SourcePreferencesController -import eu.kanade.tachiyomi.ui.browse.source.SourceController +import eu.kanade.tachiyomi.ui.browse.source.SourcesController import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController import eu.kanade.tachiyomi.ui.library.ChangeMangaCategoriesDialog import eu.kanade.tachiyomi.ui.library.setting.DisplayModeSetting @@ -70,9 +70,6 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import uy.kohesive.injekt.injectLazy -/** - * Controller to manage the catalogues available in the app. - */ open class BrowseSourceController(bundle: Bundle) : SearchableNucleusController(bundle), FabController, @@ -85,7 +82,7 @@ open class BrowseSourceController(bundle: Bundle) : sourceId: Long, query: String? = null, // SY --> - smartSearchConfig: SourceController.SmartSearchConfig? = null, + smartSearchConfig: SourcesController.SmartSearchConfig? = null, savedSearch: Long? = null, filterList: String? = null, // SY <-- @@ -116,7 +113,7 @@ open class BrowseSourceController(bundle: Bundle) : source: CatalogueSource, query: String? = null, // SY --> - smartSearchConfig: SourceController.SmartSearchConfig? = null, + smartSearchConfig: SourcesController.SmartSearchConfig? = null, savedSearch: Long? = null, filterList: String? = null, // SY <-- @@ -132,7 +129,7 @@ open class BrowseSourceController(bundle: Bundle) : source: Source, query: String? = null, // SY --> - smartSearchConfig: SourceController.SmartSearchConfig? = null, + smartSearchConfig: SourcesController.SmartSearchConfig? = null, savedSearch: Long? = null, filterList: String? = null, // SY <-- diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt index 680940c0b..d14b1527d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt @@ -71,9 +71,6 @@ import xyz.nulldev.ts.api.http.serializer.FilterSerializer import java.lang.RuntimeException import java.util.Date -/** - * Presenter of [BrowseSourceController]. - */ open class BrowseSourcePresenter( private val sourceId: Long, searchQuery: String? = null, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/EHentaiPager.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/EHentaiPager.kt index 45e3d3669..fc63d4a84 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/EHentaiPager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/EHentaiPager.kt @@ -5,7 +5,7 @@ import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MetadataMangasPage import eu.kanade.tachiyomi.util.lang.awaitSingle -open class EHentaiPager(source: CatalogueSource, query: String, filters: FilterList) : SourcePager(source, query, filters) { +class EHentaiPager(val source: CatalogueSource, val query: String, val filters: FilterList) : Pager() { private var lastMangaLink: String? = null diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourcePager.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourcePager.kt index 3d7970172..786ffca3a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourcePager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourcePager.kt @@ -4,7 +4,7 @@ import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.util.lang.awaitSingle -open class SourcePager(val source: CatalogueSource, val query: String, val filters: FilterList) : Pager() { +class SourcePager(val source: CatalogueSource, val query: String, val filters: FilterList) : Pager() { override suspend fun requestNextPage() { val page = currentPage diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchPresenter.kt index 8331fc904..04048d7a3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchPresenter.kt @@ -93,7 +93,7 @@ open class GlobalSearchPresenter( } /** - * Returns a list of enabled sources ordered by language and name, with pinned catalogues + * Returns a list of enabled sources ordered by language and name, with pinned sources * prioritized. * * @return list containing enabled sources. diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt index ee8f37d81..f0f2b1624 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt @@ -65,8 +65,8 @@ import eu.kanade.tachiyomi.ui.base.controller.popControllerWithTag import eu.kanade.tachiyomi.ui.base.controller.pushController import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.browse.migration.advanced.design.PreMigrationController -import eu.kanade.tachiyomi.ui.browse.source.SourceController -import eu.kanade.tachiyomi.ui.browse.source.SourceController.Companion.SMART_SEARCH_SOURCE_TAG +import eu.kanade.tachiyomi.ui.browse.source.SourcesController +import eu.kanade.tachiyomi.ui.browse.source.SourcesController.Companion.SMART_SEARCH_SOURCE_TAG import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController import eu.kanade.tachiyomi.ui.browse.source.feed.SourceFeedController import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchController @@ -140,7 +140,7 @@ class MangaController : constructor(history: HistoryWithRelations) : this(history.mangaId) - constructor(manga: Manga?, fromSource: Boolean = false, smartSearchConfig: SourceController.SmartSearchConfig? = null, update: Boolean = false) : super( + constructor(manga: Manga?, fromSource: Boolean = false, smartSearchConfig: SourcesController.SmartSearchConfig? = null, update: Boolean = false) : super( bundleOf( MANGA_EXTRA to (manga?.id ?: 0), FROM_SOURCE_EXTRA to fromSource, @@ -239,7 +239,7 @@ class MangaController : } // EXH --> - val smartSearchConfig: SourceController.SmartSearchConfig? = args.getParcelable( + val smartSearchConfig: SourcesController.SmartSearchConfig? = args.getParcelable( SMART_SEARCH_CONFIG_EXTRA, ) @@ -732,12 +732,12 @@ class MangaController : // EXH --> fun openSmartSearch() { - val smartSearchConfig = SourceController.SmartSearchConfig(presenter.manga.title, presenter.manga.id) + val smartSearchConfig = SourcesController.SmartSearchConfig(presenter.manga.title, presenter.manga.id) router?.pushController( - SourceController( + SourcesController( bundleOf( - SourceController.SMART_SEARCH_CONFIG to smartSearchConfig, + SourcesController.SMART_SEARCH_CONFIG to smartSearchConfig, ), ).withFadeTransaction().tag(SMART_SEARCH_SOURCE_TAG), ) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt index 863daa7c6..fed2a26b5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt @@ -17,7 +17,7 @@ import kotlin.math.abs /** * Implementation of a [RecyclerView] used by the webtoon reader. */ -open class WebtoonRecyclerView @JvmOverloads constructor( +class WebtoonRecyclerView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyle: Int = 0, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/search/SettingsSearchPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/search/SettingsSearchPresenter.kt index 0d03d7561..6587d100a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/search/SettingsSearchPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/search/SettingsSearchPresenter.kt @@ -6,11 +6,7 @@ import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -/** - * Presenter of [SettingsSearchController] - * Function calls should be done from here. UI calls should be done from the controller. - */ -open class SettingsSearchPresenter : BasePresenter() { +class SettingsSearchPresenter : BasePresenter() { val preferences: PreferencesHelper = Injekt.get() diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/system/LocaleHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/util/system/LocaleHelper.kt index dfc64cf22..13cdee346 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/system/LocaleHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/system/LocaleHelper.kt @@ -3,7 +3,7 @@ package eu.kanade.tachiyomi.util.system import android.content.Context import androidx.core.os.LocaleListCompat import eu.kanade.tachiyomi.R -import eu.kanade.tachiyomi.ui.browse.source.SourcePresenter +import eu.kanade.tachiyomi.ui.browse.source.SourcesPresenter import java.util.Locale /** @@ -21,8 +21,8 @@ object LocaleHelper { } // SY <-- return when (lang) { - SourcePresenter.LAST_USED_KEY -> context.getString(R.string.last_used_source) - SourcePresenter.PINNED_KEY -> context.getString(R.string.pinned_sources) + SourcesPresenter.LAST_USED_KEY -> context.getString(R.string.last_used_source) + SourcesPresenter.PINNED_KEY -> context.getString(R.string.pinned_sources) "other" -> context.getString(R.string.other_source) "all" -> context.getString(R.string.all_lang) else -> getDisplayName(lang) diff --git a/app/src/main/java/exh/recs/RecommendsController.kt b/app/src/main/java/exh/recs/RecommendsController.kt index f45573871..32fdf9e50 100644 --- a/app/src/main/java/exh/recs/RecommendsController.kt +++ b/app/src/main/java/exh/recs/RecommendsController.kt @@ -8,7 +8,7 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.ui.base.controller.pushController -import eu.kanade.tachiyomi.ui.browse.source.SourceController +import eu.kanade.tachiyomi.ui.browse.source.SourcesController import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController import eu.kanade.tachiyomi.ui.browse.source.browse.SourceItem @@ -50,11 +50,11 @@ class RecommendsController(bundle: Bundle) : BrowseSourceController(bundle) { } private fun openSmartSearch(title: String) { - val smartSearchConfig = SourceController.SmartSearchConfig(title) + val smartSearchConfig = SourcesController.SmartSearchConfig(title) router.pushController( - SourceController( + SourcesController( bundleOf( - SourceController.SMART_SEARCH_CONFIG to smartSearchConfig, + SourcesController.SMART_SEARCH_CONFIG to smartSearchConfig, ), ), ) diff --git a/app/src/main/java/exh/ui/smartsearch/SmartSearchController.kt b/app/src/main/java/exh/ui/smartsearch/SmartSearchController.kt index b6bfec8ce..67fe66533 100644 --- a/app/src/main/java/exh/ui/smartsearch/SmartSearchController.kt +++ b/app/src/main/java/exh/ui/smartsearch/SmartSearchController.kt @@ -9,7 +9,7 @@ import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction -import eu.kanade.tachiyomi.ui.browse.source.SourceController +import eu.kanade.tachiyomi.ui.browse.source.SourcesController import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceController import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.util.system.toast @@ -22,7 +22,7 @@ class SmartSearchController(bundle: Bundle? = null) : NucleusController() { private val _smartSearchFlow = MutableSharedFlow()