From 335f0956b4265073dd6fba4acefb3568b7046da6 Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Mon, 19 Aug 2024 12:51:37 +0600 Subject: [PATCH] Remove detekt (mihonapp/mihon#1130) Annoying. More annoying in this project. (cherry picked from commit 777ae2461e1eb277a3aa0c998ff69e4f100387a1) --- CONTRIBUTING.md | 4 - .../settings/screen/SettingsAdvancedScreen.kt | 1 - .../settings/screen/SettingsMainScreen.kt | 1 - .../settings/screen/SettingsReaderScreen.kt | 1 - .../more/settings/screen/about/AboutScreen.kt | 1 - .../eu/kanade/presentation/util/Navigator.kt | 2 - app/src/main/java/eu/kanade/tachiyomi/App.kt | 1 - .../tachiyomi/data/backup/models/Backup.kt | 1 - .../data/backup/models/BackupChapter.kt | 1 - .../backup/models/BackupExtensionRepos.kt | 1 - .../data/backup/models/BackupManga.kt | 6 +- .../tachiyomi/data/coil/MangaCoverFetcher.kt | 1 - .../tachiyomi/data/coil/PagePreviewFetcher.kt | 2 - .../extension/util/ExtensionLoader.kt | 1 - .../ui/download/DownloadQueueScreen.kt | 1 - .../kanade/tachiyomi/ui/history/HistoryTab.kt | 1 - .../eu/kanade/tachiyomi/ui/home/HomeScreen.kt | 1 - .../ui/library/LibraryScreenModel.kt | 2 - .../kanade/tachiyomi/ui/library/LibraryTab.kt | 1 - .../eu/kanade/tachiyomi/ui/more/MoreTab.kt | 1 - .../ui/reader/viewer/pager/PagerPageHolder.kt | 1 - .../kanade/tachiyomi/ui/updates/UpdatesTab.kt | 1 - .../util/system/InternalResourceHelper.kt | 1 + .../java/exh/md/handlers/MangaPlusHandler.kt | 1 - .../java/exh/smartsearch/SmartSearchEngine.kt | 1 - .../main/java/exh/uconfig/EhUConfigBuilder.kt | 6 +- .../core/migration/MigrationJobFactory.kt | 1 - buildSrc/build.gradle.kts | 1 - .../mihon.android.application.gradle.kts | 1 - .../main/kotlin/mihon.benchmark.gradle.kts | 1 - .../main/kotlin/mihon.code.detekt.gradle.kts | 59 - .../kotlin/mihon.library.compose.gradle.kts | 1 - .../src/main/kotlin/mihon.library.gradle.kts | 1 - config/detekt/baseline.xml | 2282 ----------------- config/detekt/detekt.yml | 24 - .../interceptor/CloudflareInterceptor.kt | 2 - .../SpecificHostRateLimitInterceptor.kt | 1 - .../java/tachiyomi/data/manga/MangaMapper.kt | 2 - .../data/manga/MangaRepositoryImpl.kt | 1 - .../interactor/CreateExtensionRepo.kt | 1 - .../service/ExtensionRepoService.kt | 1 - gradle/libs.versions.toml | 6 - .../core/components/material/Scaffold.kt | 1 - 43 files changed, 5 insertions(+), 2423 deletions(-) delete mode 100644 buildSrc/src/main/kotlin/mihon.code.detekt.gradle.kts delete mode 100644 config/detekt/baseline.xml delete mode 100644 config/detekt/detekt.yml diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2c45f8bae..cd377dbe1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,10 +24,6 @@ Before you start, please note that the ability to use following technologies is - [Android Studio](https://developer.android.com/studio) - Emulator or phone with developer options enabled to test changes. -## Linting - -Run the `detekt` gradle task. If the build fails, a report of issues can be found in `app/build/reports/detekt/`. The report is availble in several formats and details each issue that needs attention. - ## Getting help - Join [the Discord server](https://discord.gg/85jB7V5AJR) for online help and to ask questions while developing. diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt index 34f1fb32e..f317c78d4 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt @@ -101,7 +101,6 @@ import uy.kohesive.injekt.api.get import java.io.File object SettingsAdvancedScreen : SearchableSettings { - @Suppress("unused") private fun readResolve(): Any = SettingsAdvancedScreen @ReadOnlyComposable diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt index a1f687268..12c069437 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt @@ -55,7 +55,6 @@ import tachiyomi.presentation.core.i18n.stringResource import cafe.adriel.voyager.core.screen.Screen as VoyagerScreen object SettingsMainScreen : Screen() { - @Suppress("unused") private fun readResolve(): Any = SettingsMainScreen @Composable diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt index 64e8c1ded..cf6e80e3b 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt @@ -25,7 +25,6 @@ import uy.kohesive.injekt.api.get import java.text.NumberFormat object SettingsReaderScreen : SearchableSettings { - @Suppress("unused") private fun readResolve(): Any = SettingsReaderScreen @ReadOnlyComposable diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt index 000abd258..9ecd3925e 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt @@ -59,7 +59,6 @@ import java.time.LocalDateTime import java.time.ZoneId object AboutScreen : Screen() { - @Suppress("unused") private fun readResolve(): Any = AboutScreen @Composable diff --git a/app/src/main/java/eu/kanade/presentation/util/Navigator.kt b/app/src/main/java/eu/kanade/presentation/util/Navigator.kt index 021fb69be..bd16b51ae 100644 --- a/app/src/main/java/eu/kanade/presentation/util/Navigator.kt +++ b/app/src/main/java/eu/kanade/presentation/util/Navigator.kt @@ -1,6 +1,5 @@ package eu.kanade.presentation.util -import android.annotation.SuppressLint import androidx.compose.animation.AnimatedContent import androidx.compose.animation.AnimatedContentTransitionScope import androidx.compose.animation.ContentTransform @@ -31,7 +30,6 @@ import soup.compose.material.motion.animation.rememberSlideDistance /** * For invoking back press to the parent activity */ -@SuppressLint("ComposeCompositionLocalUsage") val LocalBackPress: ProvidableCompositionLocal<(() -> Unit)?> = staticCompositionLocalOf { null } interface Tab : cafe.adriel.voyager.navigator.tab.Tab { diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt index b1f4fa130..fbdce7946 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/App.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/App.kt @@ -210,7 +210,6 @@ class App : Application(), DefaultLifecycleObserver, SingletonImageLoader.Factor ) } - @Suppress("MagicNumber") override fun newImageLoader(context: Context): ImageLoader { return ImageLoader.Builder(this).apply { val callFactoryLazy = lazy { Injekt.get().client } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt index 258d4d802..ee960bd77 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt @@ -3,7 +3,6 @@ package eu.kanade.tachiyomi.data.backup.models import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber -@Suppress("MagicNumber") @Serializable data class Backup( @ProtoNumber(1) val backupManga: List, diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupChapter.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupChapter.kt index d729efe16..b0d081a40 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupChapter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupChapter.kt @@ -4,7 +4,6 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import tachiyomi.domain.chapter.model.Chapter -@Suppress("MagicNumber") @Serializable data class BackupChapter( // in 1.x some of these values have different names diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupExtensionRepos.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupExtensionRepos.kt index fa9968667..256def7b5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupExtensionRepos.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupExtensionRepos.kt @@ -4,7 +4,6 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import mihon.domain.extensionrepo.model.ExtensionRepo -@Suppress("MagicNumber") @Serializable class BackupExtensionRepos( @ProtoNumber(1) var baseUrl: String, diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt index a62bc942e..d81b2fd33 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt @@ -3,13 +3,9 @@ package eu.kanade.tachiyomi.data.backup.models import eu.kanade.tachiyomi.source.model.UpdateStrategy import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber -import tachiyomi.domain.manga.model.CustomMangaInfo import tachiyomi.domain.manga.model.Manga -@Suppress( - "DEPRECATION", - "MagicNumber", -) +@Suppress("DEPRECATION") @Serializable data class BackupManga( // in 1.x some of these values have different names diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverFetcher.kt b/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverFetcher.kt index 54ffaf747..35859db2a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverFetcher.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverFetcher.kt @@ -53,7 +53,6 @@ import java.io.IOException * Available request parameter: * - [USE_CUSTOM_COVER_KEY]: Use custom cover if set by user, default is true */ -@Suppress("LongParameterList") class MangaCoverFetcher( // KMK --> private val mangaCover: MangaCover, diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/coil/PagePreviewFetcher.kt b/app/src/main/java/eu/kanade/tachiyomi/data/coil/PagePreviewFetcher.kt index c47d657a6..0c2974aad 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/coil/PagePreviewFetcher.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/coil/PagePreviewFetcher.kt @@ -26,7 +26,6 @@ import tachiyomi.domain.source.service.SourceManager import uy.kohesive.injekt.injectLazy import java.io.File import java.io.IOException -import java.net.HttpURLConnection.HTTP_NOT_MODIFIED /** * A [Fetcher] that fetches page preview image for [PagePreview] object. @@ -34,7 +33,6 @@ import java.net.HttpURLConnection.HTTP_NOT_MODIFIED * Disk caching is handled by [PagePreviewCache], otherwise * handled by Coil's [DiskCache]. */ -@Suppress("LongParameterList") class PagePreviewFetcher( private val page: PagePreview, private val options: Options, diff --git a/app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt b/app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt index 68379e24b..e835acf09 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt @@ -226,7 +226,6 @@ internal object ExtensionLoader { * @param context The application context. * @param extensionInfo The extension to load. */ - @Suppress("LongMethod", "CyclomaticComplexMethod", "ReturnCount") private suspend fun loadExtension(context: Context, extensionInfo: ExtensionInfo): LoadResult { val pkgManager = context.packageManager val pkgInfo = extensionInfo.packageInfo diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadQueueScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadQueueScreen.kt index 7f752cdfb..3d7d61681 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadQueueScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadQueueScreen.kt @@ -63,7 +63,6 @@ import tachiyomi.presentation.core.screens.EmptyScreen import kotlin.math.roundToInt object DownloadQueueScreen : Screen() { - @Suppress("unused") private fun readResolve(): Any = DownloadQueueScreen @Composable diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt index 49f49721e..0469b3a38 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt @@ -39,7 +39,6 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get object HistoryTab : Tab { - @Suppress("unused") private fun readResolve(): Any = HistoryTab private val snackbarHostState = SnackbarHostState() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt index 8c3fcf337..066930fdc 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt @@ -65,7 +65,6 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get object HomeScreen : Screen() { - @Suppress("unused") private fun readResolve(): Any = HomeScreen private val librarySearchEvent = Channel() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt index 8e18f3288..15707d97e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt @@ -286,7 +286,6 @@ class LibraryScreenModel( /** * Applies library filters to the given map of manga. */ - @Suppress("LongMethod", "CyclomaticComplexMethod") private suspend fun LibraryMap.applyFilters( trackMap: Map>, trackingFiler: Map, @@ -381,7 +380,6 @@ class LibraryScreenModel( /** * Applies library sorting to the given map of manga. */ - @Suppress("LongMethod", "CyclomaticComplexMethod") private fun LibraryMap.applySort( // Map> trackMap: Map>, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt index 91d016765..f483f5044 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt @@ -76,7 +76,6 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get object LibraryTab : Tab { - @Suppress("unused") private fun readResolve(): Any = LibraryTab override val options: TabOptions diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt index bbc836f46..fdcc47371 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt @@ -43,7 +43,6 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get object MoreTab : Tab { - @Suppress("unused") private fun readResolve(): Any = MoreTab override val options: TabOptions diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt index 95fdeaa1b..fe639f560 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt @@ -87,7 +87,6 @@ class PagerPageHolder( /** * Called when this view is detached from the window. Unsubscribes any active subscription. */ - @SuppressLint("ClickableViewAccessibility") override fun onDetachedFromWindow() { super.onDetachedFromWindow() loadJob?.cancel() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt index 911939020..c0661f39d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt @@ -38,7 +38,6 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get object UpdatesTab : Tab { - @Suppress("unused") private fun readResolve(): Any = UpdatesTab override val options: TabOptions diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/system/InternalResourceHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/util/system/InternalResourceHelper.kt index 12529a19c..8e639e40b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/system/InternalResourceHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/system/InternalResourceHelper.kt @@ -21,6 +21,7 @@ object InternalResourceHelper { * @param type resource type of [resName] to get * @return 0 if not available */ + @Suppress("SameParameterValue") @SuppressLint("DiscouragedApi") private fun getResourceId(resName: String, type: String): Int { return Resources.getSystem().getIdentifier(resName, type, "android") diff --git a/app/src/main/java/exh/md/handlers/MangaPlusHandler.kt b/app/src/main/java/exh/md/handlers/MangaPlusHandler.kt index 1f1e0f08d..cdada9a5e 100644 --- a/app/src/main/java/exh/md/handlers/MangaPlusHandler.kt +++ b/app/src/main/java/exh/md/handlers/MangaPlusHandler.kt @@ -6,7 +6,6 @@ import eu.kanade.tachiyomi.network.interceptor.rateLimitHost import eu.kanade.tachiyomi.source.model.Page import exh.md.dto.MangaPlusPage import exh.md.dto.MangaPlusResponse -import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl diff --git a/app/src/main/java/exh/smartsearch/SmartSearchEngine.kt b/app/src/main/java/exh/smartsearch/SmartSearchEngine.kt index 48b3c819e..f70ad35b2 100644 --- a/app/src/main/java/exh/smartsearch/SmartSearchEngine.kt +++ b/app/src/main/java/exh/smartsearch/SmartSearchEngine.kt @@ -158,7 +158,6 @@ class SmartSearchEngine( if (closingBracketDepthIndex != null) { depthPairs[closingBracketDepthIndex]-- } else { - @Suppress("ControlFlowWithEmptyBody") if (depthPairs.all { it <= 0 }) { result.append(c) } else { diff --git a/app/src/main/java/exh/uconfig/EhUConfigBuilder.kt b/app/src/main/java/exh/uconfig/EhUConfigBuilder.kt index 1941be80a..7acf01a6b 100644 --- a/app/src/main/java/exh/uconfig/EhUConfigBuilder.kt +++ b/app/src/main/java/exh/uconfig/EhUConfigBuilder.kt @@ -92,7 +92,7 @@ object Entry { override val key = "uh" } - @Suppress("ktlint:standard:enum-entry-name-case") + @Suppress("EnumEntryName") enum class ImageSize(override val value: String) : ConfigItem { AUTO("0"), `2400`("5"), @@ -119,7 +119,7 @@ object Entry { override val value = "2" } - @Suppress("ktlint:standard:enum-entry-name-case") + @Suppress("EnumEntryName") enum class SearchResultsCount(override val value: String) : ConfigItem { `25`("0"), `50`("1"), @@ -130,7 +130,7 @@ object Entry { override val key = "rc" } - @Suppress("ktlint:standard:enum-entry-name-case") + @Suppress("EnumEntryName") enum class ThumbnailRows(override val value: String) : ConfigItem { `4`("0"), `10`("1"), diff --git a/app/src/main/java/mihon/core/migration/MigrationJobFactory.kt b/app/src/main/java/mihon/core/migration/MigrationJobFactory.kt index 801411013..c452707d5 100644 --- a/app/src/main/java/mihon/core/migration/MigrationJobFactory.kt +++ b/app/src/main/java/mihon/core/migration/MigrationJobFactory.kt @@ -12,7 +12,6 @@ class MigrationJobFactory( private val scope: CoroutineScope ) { - @SuppressWarnings("MaxLineLength") fun create(migrations: List): Deferred = with(scope) { return migrations.sortedBy { it.version } .fold(CompletableDeferred(true)) { acc: Deferred, migration: Migration -> diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index b72b8a98b..b825b4172 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -6,7 +6,6 @@ dependencies { implementation(androidx.gradle) implementation(kotlinx.gradle) implementation(kotlinx.compose.compiler.gradle) - implementation(libs.detekt.gradlePlugin) implementation(gradleApi()) implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location)) diff --git a/buildSrc/src/main/kotlin/mihon.android.application.gradle.kts b/buildSrc/src/main/kotlin/mihon.android.application.gradle.kts index 3c4c00ac3..7ba9c60fb 100644 --- a/buildSrc/src/main/kotlin/mihon.android.application.gradle.kts +++ b/buildSrc/src/main/kotlin/mihon.android.application.gradle.kts @@ -3,7 +3,6 @@ import mihon.buildlogic.configureAndroid import mihon.buildlogic.configureTest plugins { - id("mihon.code.detekt") id("com.android.application") kotlin("android") } diff --git a/buildSrc/src/main/kotlin/mihon.benchmark.gradle.kts b/buildSrc/src/main/kotlin/mihon.benchmark.gradle.kts index b857c4343..3a43a2aa1 100644 --- a/buildSrc/src/main/kotlin/mihon.benchmark.gradle.kts +++ b/buildSrc/src/main/kotlin/mihon.benchmark.gradle.kts @@ -2,7 +2,6 @@ import mihon.buildlogic.configureAndroid import mihon.buildlogic.configureTest plugins { - id("mihon.code.detekt") id("com.android.test") kotlin("android") } diff --git a/buildSrc/src/main/kotlin/mihon.code.detekt.gradle.kts b/buildSrc/src/main/kotlin/mihon.code.detekt.gradle.kts deleted file mode 100644 index 5037d7cc9..000000000 --- a/buildSrc/src/main/kotlin/mihon.code.detekt.gradle.kts +++ /dev/null @@ -1,59 +0,0 @@ -import io.gitlab.arturbosch.detekt.Detekt -import io.gitlab.arturbosch.detekt.DetektCreateBaselineTask -import org.gradle.accessors.dm.LibrariesForLibs - -plugins { - id("io.gitlab.arturbosch.detekt") -} - -val libs = the() -dependencies { - detektPlugins(libs.detekt.rules.formatting) - detektPlugins(libs.detekt.rules.compose) -} - -private val configFile = files("$rootDir/config/detekt/detekt.yml") -private val baselineFile = file("$rootDir/config/detekt/baseline.xml") -private val kotlinFiles = "**/*.kt" -private val resourceFiles = "**/resources/**" -private val buildFiles = "**/build/**" -private val generatedFiles = "**/generated/**" -private val scriptsFiles = "**/*.kts" - -detekt { - buildUponDefaultConfig = true - parallel = true - autoCorrect = false - ignoreFailures = false - config.setFrom(configFile) - baseline = file(baselineFile) -} - -val detektProjectBaseline by tasks.registering(DetektCreateBaselineTask::class) { - description = "Overrides current baseline." - buildUponDefaultConfig.set(true) - ignoreFailures.set(true) - parallel.set(true) - setSource(files(rootDir)) - config.setFrom(configFile) - baseline = file(baselineFile) - include(kotlinFiles) - exclude(resourceFiles, buildFiles, generatedFiles, scriptsFiles) -} - -tasks.withType().configureEach { - include(kotlinFiles) - exclude(resourceFiles, buildFiles, generatedFiles, scriptsFiles) - reports { - html.required.set(true) - xml.required.set(false) - txt.required.set(false) - } -} - -tasks.withType().configureEach { - jvmTarget = JavaVersion.VERSION_17.toString() -} -tasks.withType().configureEach { - jvmTarget = JavaVersion.VERSION_17.toString() -} diff --git a/buildSrc/src/main/kotlin/mihon.library.compose.gradle.kts b/buildSrc/src/main/kotlin/mihon.library.compose.gradle.kts index 9f39d7737..0c37a3256 100644 --- a/buildSrc/src/main/kotlin/mihon.library.compose.gradle.kts +++ b/buildSrc/src/main/kotlin/mihon.library.compose.gradle.kts @@ -1,7 +1,6 @@ import mihon.buildlogic.configureCompose plugins { - id("mihon.code.detekt") id("com.android.library") } diff --git a/buildSrc/src/main/kotlin/mihon.library.gradle.kts b/buildSrc/src/main/kotlin/mihon.library.gradle.kts index 0ea496172..743bf07e3 100644 --- a/buildSrc/src/main/kotlin/mihon.library.gradle.kts +++ b/buildSrc/src/main/kotlin/mihon.library.gradle.kts @@ -2,7 +2,6 @@ import mihon.buildlogic.configureAndroid import mihon.buildlogic.configureTest plugins { - id("mihon.code.detekt") id("com.android.library") } diff --git a/config/detekt/baseline.xml b/config/detekt/baseline.xml deleted file mode 100644 index 1358cb989..000000000 --- a/config/detekt/baseline.xml +++ /dev/null @@ -1,2282 +0,0 @@ - - - - - ArgumentListWrapping:AnnotatedString.kt$(SpanStyle(fontWeight = FontWeight.Bold, fontStyle = FontStyle.Italic), start, end) - ArgumentListWrapping:AnnotatedString.kt$(fontWeight = FontWeight.Bold, fontStyle = FontStyle.Italic) - ArgumentListWrapping:ApiMangaParser.kt$ApiMangaParser$("Content Rating", it.capitalize(Locale.US), MangaDexSearchMetadata.TAG_TYPE_DEFAULT) - ArgumentListWrapping:ApiMangaParser.kt$ApiMangaParser$("Demographic", it.capitalize(Locale.US), MangaDexSearchMetadata.TAG_TYPE_DEFAULT) - ArgumentListWrapping:ApiMangaParser.kt$ApiMangaParser$(Locale.US) - ArgumentListWrapping:BatchAddScreen.kt$BatchAddScreen$(SYMR.strings.eh_batch_add_adding_galleries) - ArgumentListWrapping:BatchAddScreen.kt$BatchAddScreen$(SYMR.strings.eh_batch_add_title) - ArgumentListWrapping:BatchAddScreen.kt$BatchAddScreen$(text = stringResource(SYMR.strings.eh_batch_add_adding_galleries), style = MaterialTheme.typography.titleLarge) - ArgumentListWrapping:BatchAddScreen.kt$BatchAddScreen$(text = stringResource(SYMR.strings.eh_batch_add_title), style = MaterialTheme.typography.titleLarge) - ArgumentListWrapping:BiometricTimesScreen.kt$BiometricTimesScreen$(SYMR.strings.delete_time_range_confirmation, dialog.timeRange.formattedString) - ArgumentListWrapping:BiometricTimesScreen.kt$BiometricTimesScreen$(context) - ArgumentListWrapping:BiometricTimesScreen.kt$BiometricTimesScreen$(if (startTime == null) SYMR.strings.biometric_lock_start_time.getString(context) else SYMR.strings.biometric_lock_end_time.getString(context)) - ArgumentListWrapping:DataSaver.kt$BandwidthHeroDataSaver$(imageUrl) - ArgumentListWrapping:DataSaver.kt$WsrvNlDataSaver$(imageUrl) - ArgumentListWrapping:DownloadPageLoader.kt$DownloadPageLoader$(dbChapter.name, dbChapter.scanlator, /* SY --> */ manga.ogTitle /* SY <-- */, source) - ArgumentListWrapping:EHConfigurator.kt$EHConfigurator$(SYMR.strings.eh_settings_out_of_slots_error, source.name) - ArgumentListWrapping:EHConfigurator.kt$EHConfigurator$(context.stringResource(SYMR.strings.eh_settings_out_of_slots_error, source.name)) - ArgumentListWrapping:EditMergedSettingsDialog.kt$(factoryContext, binding, mergedData.manga.values.toList(), mergedData.references) - ArgumentListWrapping:EnhancedFilePrinter.kt$EnhancedFilePrinter$(!(newFileName == null || newFileName.trim { it <= ' ' }.isEmpty())) - ArgumentListWrapping:ExtensionManager.kt$ExtensionManager$("Removing blacklisted extension: (name: %s, pkgName: %s)!", extension.name, extension.pkgName) - ArgumentListWrapping:FavoritesSyncHelper.kt$FavoritesSyncHelper$(SYMR.strings.favorites_sync_gallery_multiple_categories_error, manga.id) - ArgumentListWrapping:FavoritesSyncHelper.kt$FavoritesSyncHelper$(context.stringResource(SYMR.strings.favorites_sync_gallery_multiple_categories_error, manga.id)) - ArgumentListWrapping:FavoritesSyncHelper.kt$FavoritesSyncStatus.BadLibraryState.MangaInMultipleCategories$( SYMR.strings.favorites_sync_gallery_in_multiple_categories, manga.title, categories.joinToString { it.name }, ) - ArgumentListWrapping:GalleryAdder.kt$GalleryAddEvent.Fail.UnknownSource$(SYMR.strings.batch_add_unknown_source_log_message, galleryUrl) - ArgumentListWrapping:GalleryAdder.kt$GalleryAddEvent.Fail.UnknownType$(SYMR.strings.batch_add_unknown_type_log_message, galleryUrl) - ArgumentListWrapping:GalleryAdder.kt$GalleryAdder$(SYMR.strings.gallery_adder_chapter_fetch_error, url) - ArgumentListWrapping:GalleryAdder.kt$GalleryAdder$(SYMR.strings.gallery_adder_could_not_identify_chapter, url) - ArgumentListWrapping:GalleryAdder.kt$GalleryAdder$(SYMR.strings.gallery_adder_importing_gallery, url, fav.toString(), forceSource?.toString().orEmpty()) - ArgumentListWrapping:GalleryAdder.kt$GalleryAdder$(context.stringResource(SYMR.strings.gallery_adder_importing_gallery, url, fav.toString(), forceSource?.toString().orEmpty())) - ArgumentListWrapping:GalleryAdder.kt$GalleryAdder$(url, context.stringResource(SYMR.strings.gallery_adder_chapter_fetch_error, url)) - ArgumentListWrapping:GalleryAdder.kt$GalleryAdder$(url, context.stringResource(SYMR.strings.gallery_adder_could_not_identify_chapter, url)) - ArgumentListWrapping:LibraryScreenModel.kt$LibraryScreenModel$("\\(.*?\\)".toRegex(), "") - ArgumentListWrapping:LibraryScreenModel.kt$LibraryScreenModel$("\\[.*?]".toRegex(), "") - ArgumentListWrapping:LibraryScreenModel.kt$LibraryScreenModel$("\\{.*?\\}".toRegex(), "") - ArgumentListWrapping:LibraryScreenModel.kt$LibraryScreenModel$(MR.strings.publishing_finished) - ArgumentListWrapping:LibraryScreenModel.kt$LibraryScreenModel$(it.source) - ArgumentListWrapping:LibraryTab.kt$LibraryTab$(state.categories.lastIndex) - ArgumentListWrapping:LibraryTab.kt$LibraryTab$(state.categories[screenModel.activeCategoryIndex.coerceAtMost(state.categories.lastIndex)]) - ArgumentListWrapping:LibraryUpdateJob.kt$LibraryUpdateJob$( listOf(Manga.create().copy(ogTitle = networkManga.title)), count, size, ) - ArgumentListWrapping:LibraryUpdateJob.kt$LibraryUpdateJob$(manga.id) - ArgumentListWrapping:LocalSource.kt$LocalSource$(COMIC_INFO_FILE) - ArgumentListWrapping:LocalSource.kt$LocalSource$(it, manga) - ArgumentListWrapping:MangaScreen.kt$MangaScreen$(context, navigator, screenModel.source?.getMainSource(), successState.manga) - ArgumentListWrapping:MangaScreen.kt$MangaScreen$(navigator, context, successState.manga, screenModel::smartSearchMerge) - ArgumentListWrapping:MangaScreenModel.kt$MangaScreenModel$(getTracks.await(mangaId).first { it.trackerId == trackerManager.mdList.id }, trackerManager.mdList) - ArgumentListWrapping:MangaScreenModel.kt$MangaScreenModel$(manga.source, chapters) - ArgumentListWrapping:MangaScreenModel.kt$MangaScreenModel$(mangaId) - ArgumentListWrapping:MangaScreenModel.kt$MangaScreenModel$(mangaId, applyScanlatorFilter = true) - ArgumentListWrapping:MigrationListScreenModel.kt$MigrationListScreenModel$(localManga.toSManga(), throttleManager::throttle) - ArgumentListWrapping:ReaderActivity.kt$ReaderActivity$(SYMR.strings.share_pages_info, manga.title, chapter.name, if (resources.configuration.layoutDirection == View.LAYOUT_DIRECTION_LTR) "${page.number}-${page.number + 1}" else "${page.number + 1}-${page.number}") - ArgumentListWrapping:ReaderPreferences.kt$ReaderPreferences$("reader_bottom_buttons", ReaderBottomButton.BUTTONS_DEFAULTS) - ArgumentListWrapping:SimilarHandler.kt$SimilarHandler$( mangaList, false, List(mangaList.size) { MangaDexSearchMetadata().also { it.relation = MangaDexRelation.SIMILAR } }, ) - ArgumentListWrapping:SourcesScreenModel.kt$SourcesScreenModel$(CATEGORY_KEY_PREFIX) - ArgumentListWrapping:SourcesScreenModel.kt$SourcesScreenModel$(it.key.removePrefix(CATEGORY_KEY_PREFIX), it.value.firstOrNull()?.category != null) - CommentSpacing:ChapterCache.kt$ChapterCache$//S Y <-- - CommentSpacing:LibraryUpdateJob.kt$LibraryUpdateJob$//SY <-- - CommentWrapping:BackupCreator.kt$BackupCreator$/* SY --> */ - CommentWrapping:BackupRestorer.kt$BackupRestorer$/* SY --> */ - CommentWrapping:BackupRestorer.kt$BackupRestorer$/* SY <-- */ - CommentWrapping:BrowseSourceComfortableGrid.kt$/* SY --> */ - CommentWrapping:BrowseSourceComfortableGrid.kt$/* SY <-- */ - CommentWrapping:BrowseSourceCompactGrid.kt$/* SY --> */ - CommentWrapping:BrowseSourceCompactGrid.kt$/* SY <-- */ - CommentWrapping:BrowseSourceEHentaiList.kt$/* SY --> */ - CommentWrapping:BrowseSourceEHentaiList.kt$/* SY <-- */ - CommentWrapping:BrowseSourceList.kt$/* SY --> */ - CommentWrapping:BrowseSourceList.kt$/* SY <-- */ - CommentWrapping:BrowseSourceScreen.kt$/* SY --> */ - CommentWrapping:BrowseSourceScreen.kt$/* SY <-- */ - CommentWrapping:BrowseSourceScreen.kt$BrowseSourceScreen$/* SY --> */ - CommentWrapping:BrowseSourceScreen.kt$BrowseSourceScreen$/* SY <-- */ - CommentWrapping:BuildConfig.kt$/* SY --> */ - CommentWrapping:BuildConfig.kt$/* SY <-- */ - CommentWrapping:ChapterFilter.kt$/* SY --> */ - CommentWrapping:ChapterFilter.kt$/* SY <-- */ - CommentWrapping:ChapterFilterDownloaded.kt$/* SY --> */ - CommentWrapping:ChapterGetNextUnread.kt$/* SY --> */ - CommentWrapping:ChapterGetNextUnread.kt$/* SY <-- */ - CommentWrapping:ChapterLoader.kt$ChapterLoader$/* --> EH */ - CommentWrapping:ChapterLoader.kt$ChapterLoader$/* SY --> */ - CommentWrapping:ChapterLoader.kt$ChapterLoader$/* SY <-- */ - CommentWrapping:ClearDatabaseScreen.kt$ClearDatabaseScreenModel$/* SY --> */ - CommentWrapping:ClearDatabaseScreen.kt$ClearDatabaseScreenModel$/* SY <-- */ - CommentWrapping:CollapsibleBox.kt$/* SY --> */ - CommentWrapping:CollapsibleBox.kt$/* SY <-- */ - CommentWrapping:CreateCategoryWithName.kt$CreateCategoryWithName$/* SY --> */ - CommentWrapping:CreateCategoryWithName.kt$CreateCategoryWithName$/* SY <-- */ - CommentWrapping:DownloadCache.kt$DownloadCache$/* SY --> */ - CommentWrapping:DownloadCache.kt$DownloadCache$/* SY <-- */ - CommentWrapping:DownloadManager.kt$DownloadManager$/* SY --> */ - CommentWrapping:DownloadManager.kt$DownloadManager$/* SY <-- */ - CommentWrapping:DownloadPageLoader.kt$DownloadPageLoader$/* SY --> */ - CommentWrapping:DownloadPageLoader.kt$DownloadPageLoader$/* SY <-- */ - CommentWrapping:DownloadPendingDeleter.kt$DownloadPendingDeleter$/* SY --> */ - CommentWrapping:DownloadPendingDeleter.kt$DownloadPendingDeleter$/* SY <-- */ - CommentWrapping:DownloadProvider.kt$DownloadProvider$/* SY --> */ - CommentWrapping:DownloadProvider.kt$DownloadProvider$/* SY <-- */ - CommentWrapping:Downloader.kt$Downloader$/* SY --> */ - CommentWrapping:Downloader.kt$Downloader$/* SY <-- */ - CommentWrapping:EXHMigrations.kt$EXHMigrations$/* ALPHABETICAL */ - CommentWrapping:GetExtensionsByType.kt$GetExtensionsByType$/* SY --> */ - CommentWrapping:GetExtensionsByType.kt$GetExtensionsByType$/* SY <-- */ - CommentWrapping:HistoryScreenModelStateProvider.kt$HistoryScreenModelStateProvider.HistoryUiModelExamples$/* SY --> */ - CommentWrapping:HistoryScreenModelStateProvider.kt$HistoryScreenModelStateProvider.HistoryUiModelExamples$/* SY <-- */ - CommentWrapping:HomeScreen.kt$HomeScreen$/* SY --> */ - CommentWrapping:HomeScreen.kt$HomeScreen$/* SY <-- */ - CommentWrapping:HttpPageLoader.kt$HttpPageLoader$/* SY --> */ - CommentWrapping:HttpSource.kt$HttpSource$/* SY <-- */ - CommentWrapping:LibraryScreenModel.kt$LibraryScreenModel$/* SY --> */ - CommentWrapping:LibraryScreenModel.kt$LibraryScreenModel$/* SY <-- */ - CommentWrapping:LibrarySortMode.kt$LibrarySort.Companion$/* SY -->*/ - CommentWrapping:LibrarySortMode.kt$LibrarySort.Companion$/* SY <--*/ - CommentWrapping:LocalSource.kt$LocalSource$/* SY --> */ - CommentWrapping:LocalSource.kt$LocalSource$/* SY <-- */ - CommentWrapping:MangaBackupCreator.kt$/* SY --> */ - CommentWrapping:MangaBackupCreator.kt$/* SY <-- */ - CommentWrapping:MangaBackupCreator.kt$MangaBackupCreator$/* SY <-- */ - CommentWrapping:MangaBottomActionMenu.kt$/* SY --> */ - CommentWrapping:MangaBottomActionMenu.kt$/* SY <-- */ - CommentWrapping:MangaChapterListItem.kt$/* SY --> */ - CommentWrapping:MangaChapterListItem.kt$/* SY <-- */ - CommentWrapping:MangaScreen.kt$/* SY --> */ - CommentWrapping:MangaScreen.kt$/* SY <-- */ - CommentWrapping:MangaScreenModel.kt$MangaScreenModel$/* SY --> */ - CommentWrapping:MangaScreenModel.kt$MangaScreenModel$/* SY <-- */ - CommentWrapping:MangasPage.kt$MangasPage$/* SY <-- */ - CommentWrapping:NetworkHelper.kt$NetworkHelper$/* SY <-- */ - CommentWrapping:NetworkToLocalManga.kt$NetworkToLocalManga$/* SY --> */ - CommentWrapping:NetworkToLocalManga.kt$NetworkToLocalManga$/* SY <-- */ - CommentWrapping:Page.kt$Page$/* SY <-- */ - CommentWrapping:PagePreviewScreen.kt$/* TODO support unknown pageCount || state.hasNextPage*/ - CommentWrapping:ReaderActivity.kt$ReaderActivity$/* SY --> */ - CommentWrapping:ReaderActivity.kt$ReaderActivity$/* SY <-- */ - CommentWrapping:ReaderActivity.kt$ReaderActivity$/*else if (page.status == Page.LOAD_PAGE || page.status == Page.DOWNLOAD_IMAGE) { // Do nothing }*/ - CommentWrapping:ReaderActivity.kt$ReaderActivity.Companion$/* SY --> */ - CommentWrapping:ReaderActivity.kt$ReaderActivity.Companion$/* SY <-- */ - CommentWrapping:ReaderAppBars.kt$/*SY --> */ - CommentWrapping:ReaderAppBars.kt$/*SY <-- */ - CommentWrapping:ReaderTransitionView.kt$ReaderTransitionView$/* SY --> */ - CommentWrapping:ReaderTransitionView.kt$ReaderTransitionView$/* SY <-- */ - CommentWrapping:ReaderViewModel.kt$ReaderViewModel$/* SY --> */ - CommentWrapping:ReaderViewModel.kt$ReaderViewModel$/* SY <-- */ - CommentWrapping:ReaderViewModel.kt$ReaderViewModel.Dialog.PageActions$/* SY --> */ - CommentWrapping:ReaderViewModel.kt$ReaderViewModel.Dialog.PageActions$/* SY <-- */ - CommentWrapping:ReaderViewModel.kt$ReaderViewModel.Event.ShareImage$/* SY --> */ - CommentWrapping:ReaderViewModel.kt$ReaderViewModel.Event.ShareImage$/* SY <-- */ - CommentWrapping:RestoreOptions.kt$RestoreOptions$/* SY --> */ - CommentWrapping:RestoreOptions.kt$RestoreOptions$/* SY <-- */ - CommentWrapping:SecureActivityDelegate.kt$SecureActivityDelegate.Companion$/* SY --> */ - CommentWrapping:SecureActivityDelegate.kt$SecureActivityDelegate.Companion$/* SY <-- */ - CommentWrapping:SourceFilterDialog.kt$/* SY --> */ - CommentWrapping:SourceFilterDialog.kt$/* SY <-- */ - CommentWrapping:SourcePagingSource.kt$SourcePagingSource$/*SY --> */ - CommentWrapping:SourcePagingSource.kt$SourcePagingSource$/*SY <-- */ - CommentWrapping:SourceRepository.kt$/*SY --> */ - CommentWrapping:SourceRepository.kt$/*SY <-- */ - CommentWrapping:SourcesScreen.kt$/* SY --> */ - CommentWrapping:SourcesScreen.kt$/* SY <-- */ - CommentWrapping:SyncChaptersWithSource.kt$SyncChaptersWithSource$/* SY --> */ - CommentWrapping:SyncChaptersWithSource.kt$SyncChaptersWithSource$/* SY <-- */ - CommentWrapping:TrackChapter.kt$TrackChapter$/* SY --> */ - CommentWrapping:TrackChapter.kt$TrackChapter$/* SY <-- */ - CommentWrapping:UpdatesUiItem.kt$/* SY --> */ - CommentWrapping:UpdatesUiItem.kt$/* SY <-- */ - ComplexCondition:CustomMangaRepositoryImpl.kt$CustomMangaRepositoryImpl$mangaInfo.title == null && mangaInfo.author == null && mangaInfo.artist == null && mangaInfo.thumbnailUrl == null && mangaInfo.description == null && mangaInfo.genre == null && mangaInfo.status == null - ComplexCondition:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$(new.isNotEmpty() && manga.id == acceptedRoot.manga.id) || (hasNew && updatedManga.none { it.first.id == acceptedRoot.manga.id }) - ComplexCondition:LibraryUpdateJob.kt$LibraryUpdateJob$group == LibraryGroup.BY_DEFAULT || groupLibraryUpdateType == GroupLibraryMode.GLOBAL || (groupLibraryUpdateType == GroupLibraryMode.ALL_BUT_UNGROUPED && group == LibraryGroup.UNGROUPED) - ComplexCondition:MangaRestorer.kt$MangaRestorer$customTitle != null || customArtist != null || customAuthor != null || customThumbnailUrl != null || customDescription != null || customGenre != null || customStatus != 0 - ComplexCondition:MangaScreenModel.kt$MangaScreenModel$(selectedItem.selected && selected) || (!selectedItem.selected && !selected) - ComplexCondition:PagerPageHolder.kt$PagerPageHolder$imageStream is BufferedInputStream && !ImageUtil.isAnimatedAndSupported(imageStream) && ImageUtil.isWideImage(imageStream) && viewer.config.centerMarginType and PagerConfig.CenterMarginType.WIDE_PAGE_CENTER_MARGIN > 0 && !viewer.config.imageCropBorders - ComplexCondition:PagerViewerAdapter.kt$PagerViewerAdapter$items[itemIndex]?.fullPage == true && itemIndex > 0 && items[itemIndex - 1] != null && (itemIndex - 1) % 2 == 0 - ComplexCondition:ReaderActivity.kt$ReaderActivity$readerPreferences.useAutoWebtoon().get() && (manga?.readingMode?.toInt() ?: ReadingMode.DEFAULT.flagValue) == ReadingMode.DEFAULT.flagValue && defaultReaderType != null && defaultReaderType == ReadingMode.WEBTOON.flagValue - ComplexCondition:ReaderNavigationOverlayView.kt$ReaderNavigationOverlayView$isVisible || (!showOnStart && firstLaunch) || navigation is DisabledNavigation - ComplexCondition:ReaderPageImageView.kt$ReaderPageImageView$config != null && config!!.landscapeZoom && config!!.minimumScaleType == SCALE_TYPE_CENTER_INSIDE && sWidth > sHeight && scale == minScale - ComplexCondition:SearchEngine.kt$SearchEngine$char == '-' && !inQuotes && (queuedRawText.isBlank() || queuedRawText.last() == ' ') - ComplexCondition:SourceTagsUtil.kt$SourceTagsUtil$sourceId == EXH_SOURCE_ID || sourceId == EH_SOURCE_ID || sourceId in nHentaiSourceIds || sourceId in mangaDexSourceIds || sourceId == PURURIN_SOURCE_ID || sourceId == TSUMINO_SOURCE_ID - ComplexCondition:TrackChapter.kt$TrackChapter$service == null || !service.isLoggedIn || chapterNumber <= track.lastChapterRead /* SY --> */ || (service is MdList && track.status == FollowStatus.UNFOLLOWED.long) - ComposableParamOrder:AutoCompleteItem.kt$AutoCompleteTextField - ComposableParamOrder:ChapterSettingsDialog.kt$ChapterSettingsDialog - ComposableParamOrder:FeedScreen.kt$RadioSelector - ComposableParamOrder:GlobalSearchResultItems.kt$GlobalSearchResultItem - ComposableParamOrder:LazyLibraryGrid.kt$LazyLibraryGrid - ComposableParamOrder:SwitchPreferenceWidget.kt$SwitchPreferenceWidget - ComposableParamOrder:TrackingPreferenceWidget.kt$TrackingPreferenceWidget - ComposableParamOrder:TriStateListDialog.kt$TriStateListDialog - CompositionLocalAllowlist:Navigator.kt$LocalBackPress - CompositionLocalAllowlist:PreferenceItem.kt$LocalPreferenceHighlighted - CompositionLocalAllowlist:PreferenceItem.kt$LocalPreferenceMinHeight - ConstructorParameterNaming:AnilistModels.kt$ALManga$val average_score: Int - ConstructorParameterNaming:AnilistModels.kt$ALManga$val image_url_lge: String - ConstructorParameterNaming:AnilistModels.kt$ALManga$val publishing_status: String - ConstructorParameterNaming:AnilistModels.kt$ALManga$val remote_id: Long - ConstructorParameterNaming:AnilistModels.kt$ALManga$val start_date_fuzzy: Long - ConstructorParameterNaming:AnilistModels.kt$ALManga$val title_user_pref: String - ConstructorParameterNaming:AnilistModels.kt$ALManga$val total_chapters: Long - ConstructorParameterNaming:AnilistModels.kt$ALUserManga$val chapters_read: Int - ConstructorParameterNaming:AnilistModels.kt$ALUserManga$val completed_date_fuzzy: Long - ConstructorParameterNaming:AnilistModels.kt$ALUserManga$val library_id: Long - ConstructorParameterNaming:AnilistModels.kt$ALUserManga$val list_status: String - ConstructorParameterNaming:AnilistModels.kt$ALUserManga$val score_raw: Int - ConstructorParameterNaming:AnilistModels.kt$ALUserManga$val start_date_fuzzy: Long - ConstructorParameterNaming:AnilistModels.kt$OAuth$val access_token: String - ConstructorParameterNaming:AnilistModels.kt$OAuth$val expires_in: Long - ConstructorParameterNaming:AnilistModels.kt$OAuth$val token_type: String - ConstructorParameterNaming:BackupManga.kt$BackupManga$@ProtoNumber(103) var viewer_flags: Int? = null - ConstructorParameterNaming:BangumiModels.kt$Collection$val ep_status: Int? = 0 - ConstructorParameterNaming:BangumiModels.kt$Collection$val vol_status: Int? = 0 - ConstructorParameterNaming:BangumiModels.kt$OAuth$val access_token: String - ConstructorParameterNaming:BangumiModels.kt$OAuth$val created_at: Long = System.currentTimeMillis() / 1000 - ConstructorParameterNaming:BangumiModels.kt$OAuth$val expires_in: Long - ConstructorParameterNaming:BangumiModels.kt$OAuth$val refresh_token: String? - ConstructorParameterNaming:BangumiModels.kt$OAuth$val token_type: String - ConstructorParameterNaming:BangumiModels.kt$OAuth$val user_id: Long? - ConstructorParameterNaming:ExtensionDetailsScreenModel.kt$ExtensionDetailsScreenModel.State$private val _sources: ImmutableList<ExtensionSourceItem>? = null - ConstructorParameterNaming:KavitaModels.kt$SeriesDto$val thumbnail_url: String? = "" - ConstructorParameterNaming:KitsuModels.kt$OAuth$val access_token: String - ConstructorParameterNaming:KitsuModels.kt$OAuth$val created_at: Long - ConstructorParameterNaming:KitsuModels.kt$OAuth$val expires_in: Long - ConstructorParameterNaming:KitsuModels.kt$OAuth$val refresh_token: String? - ConstructorParameterNaming:KitsuModels.kt$OAuth$val token_type: String - ConstructorParameterNaming:MyAnimeListModels.kt$OAuth$val access_token: String - ConstructorParameterNaming:MyAnimeListModels.kt$OAuth$val created_at: Long = System.currentTimeMillis() - ConstructorParameterNaming:MyAnimeListModels.kt$OAuth$val expires_in: Long - ConstructorParameterNaming:MyAnimeListModels.kt$OAuth$val refresh_token: String - ConstructorParameterNaming:MyAnimeListModels.kt$OAuth$val token_type: String - ConstructorParameterNaming:PagePreviewSource.kt$PagePreviewInfo$@Transient private val _progress: MutableStateFlow<Int> = MutableStateFlow(-1) - ConstructorParameterNaming:ShikimoriModels.kt$OAuth$val access_token: String - ConstructorParameterNaming:ShikimoriModels.kt$OAuth$val created_at: Long - ConstructorParameterNaming:ShikimoriModels.kt$OAuth$val expires_in: Long - ConstructorParameterNaming:ShikimoriModels.kt$OAuth$val refresh_token: String? - ConstructorParameterNaming:ShikimoriModels.kt$OAuth$val token_type: String - CyclomaticComplexMethod:AnilistModels.kt$fun DomainTrack.toAnilistScore(): String - CyclomaticComplexMethod:ApiMangaParser.kt$ApiMangaParser$fun parseIntoMetadata( metadata: MangaDexSearchMetadata, mangaDto: MangaDto, simpleChapters: List<String>, statistics: StatisticsMangaDto?, ) - CyclomaticComplexMethod:BottomReaderBar.kt$@Composable fun BottomReaderBar( // SY --> enabledButtons: ImmutableSet<String>, // SY <-- backgroundColor: Color, readingMode: ReadingMode, onClickReadingMode: () -> Unit, orientation: ReaderOrientation, onClickOrientation: () -> Unit, cropEnabled: Boolean, onClickCropBorder: () -> Unit, onClickSettings: () -> Unit, // SY --> currentReadingMode: ReadingMode, dualPageSplitEnabled: Boolean, doublePages: Boolean, onClickChapterList: () -> Unit, onClickWebView: (() -> Unit)?, onClickShare: (() -> Unit)?, onClickPageLayout: () -> Unit, onClickShiftPage: () -> Unit, // SY <-- ) - CyclomaticComplexMethod:BrowseSourceEHentaiList.kt$@Composable fun BrowseSourceEHentaiListItem( manga: Manga, // SY --> metadata: RaisedSearchMetadata?, // SY <-- onClick: () -> Unit = {}, onLongClick: () -> Unit = onClick, ) - CyclomaticComplexMethod:BrowseSourceScreen.kt$@Composable fun BrowseSourceContent( source: Source?, mangaList: LazyPagingItems<StateFlow</* SY --> */Pair<Manga, RaisedSearchMetadata?>/* SY <-- */>>, columns: GridCells, // SY --> ehentaiBrowseDisplayMode: Boolean, // SY <-- displayMode: LibraryDisplayMode, snackbarHostState: SnackbarHostState, contentPadding: PaddingValues, // SY --> onWebViewClick: (() -> Unit)?, onHelpClick: (() -> Unit)?, onLocalSourceHelpClick: (() -> Unit)?, // SY <-- onMangaClick: (Manga) -> Unit, onMangaLongClick: (Manga) -> Unit, ) - CyclomaticComplexMethod:BrowseSourceScreen.kt$BrowseSourceScreen$@Composable override fun Content() - CyclomaticComplexMethod:BrowseSourceScreenModel.kt$BrowseSourceScreenModel$fun searchGenre(genreName: String) - CyclomaticComplexMethod:Button.kt$ButtonElevation$@Composable private fun animateElevation( enabled: Boolean, interactionSource: InteractionSource, ): State<Dp> - CyclomaticComplexMethod:ChapterLoader.kt$ChapterLoader$private fun getPageLoader(chapter: ReaderChapter): PageLoader - CyclomaticComplexMethod:Chip.kt$ChipElevation$@Composable private fun animateElevation( enabled: Boolean, interactionSource: InteractionSource, ): State<Dp> - CyclomaticComplexMethod:DownloadCache.kt$DownloadCache$private fun renewCache() - CyclomaticComplexMethod:EHentai.kt$EHentai$override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request - CyclomaticComplexMethod:EHentai.kt$EHentai$override suspend fun parseIntoMetadata(metadata: EHentaiSearchMetadata, input: Document) - CyclomaticComplexMethod:EHentai.kt$EHentai$private fun extendedGenericMangaParse(doc: Document) - CyclomaticComplexMethod:EHentaiDescriptionAdapter.kt$@Composable fun EHentaiDescription(state: State.Success, openMetadataViewer: () -> Unit, search: (String) -> Unit) - CyclomaticComplexMethod:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$private suspend fun startUpdating() - CyclomaticComplexMethod:EXHMigrations.kt$EXHMigrations$fun upgrade( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, pagePreviewCache: PagePreviewCache, ): Boolean - CyclomaticComplexMethod:EditMangaDialog.kt$private fun onViewCreated(manga: Manga, context: Context, binding: EditMangaDialogBinding, scope: CoroutineScope) - CyclomaticComplexMethod:EditMergedSettingsHeaderAdapter.kt$EditMergedSettingsHeaderAdapter.HeaderViewHolder$fun bind() - CyclomaticComplexMethod:EhUConfigBuilder.kt$EhUConfigBuilder$fun build(hathPerks: EHHathPerksResponse): FormBody - CyclomaticComplexMethod:ExtensionLoader.kt$ExtensionLoader$private fun loadExtension(context: Context, extensionInfo: ExtensionInfo): LoadResult - CyclomaticComplexMethod:ExtensionsScreen.kt$@Composable private fun ExtensionContent( state: ExtensionsScreenModel.State, contentPadding: PaddingValues, onLongClickItem: (Extension) -> Unit, onClickItemCancel: (Extension) -> Unit, onOpenWebView: (Extension.Available) -> Unit, onInstallExtension: (Extension.Available) -> Unit, onUninstallExtension: (Extension) -> Unit, onUpdateExtension: (Extension.Installed) -> Unit, onTrustExtension: (Extension.Untrusted) -> Unit, onOpenExtension: (Extension.Installed) -> Unit, onClickUpdateAll: () -> Unit, ) - CyclomaticComplexMethod:ExtensionsScreen.kt$@Composable private fun ExtensionItemContent( extension: Extension, installStep: InstallStep, modifier: Modifier = Modifier, ) - CyclomaticComplexMethod:FilterHandler.kt$FilterHandler$fun getQueryMap(filters: FilterList): Map<String, Any> - CyclomaticComplexMethod:FilterSerializer.kt$FilterSerializer$fun deserialize(filter: Filter<Any?>, json: JsonObject) - CyclomaticComplexMethod:GalleryAdder.kt$GalleryAdder$suspend fun addGallery( context: Context, url: String, fav: Boolean = false, forceSource: UrlImportableSource? = null, throttleFunc: suspend () -> Unit = {}, retry: Int = 1, ): GalleryAddEvent - CyclomaticComplexMethod:GetSourcesWithFavoriteCount.kt$GetSourcesWithFavoriteCount$private fun sortFn( direction: SetMigrateSorting.Direction, sorting: SetMigrateSorting.Mode, ): java.util.Comparator<Pair<Source, Long>> - CyclomaticComplexMethod:ImageUtil.kt$ImageUtil$fun chooseBackground(context: Context, imageStream: InputStream): Drawable - CyclomaticComplexMethod:LewdMangaChecker.kt$private fun isHentaiSource(source: String): Boolean - CyclomaticComplexMethod:LibraryScreenModel.kt$LibraryScreenModel$fun getCategoryName( context: Context, category: Category?, groupType: Int, categoryName: String, ): String - CyclomaticComplexMethod:LibraryScreenModel.kt$LibraryScreenModel$private fun LibraryMap.applySort( // Map<MangaId, List<Track>> trackMap: Map<Long, List<Track>>, /* SY --> */ groupSort: LibrarySort? = null, /* SY <-- */ ): LibraryMap - CyclomaticComplexMethod:LibraryScreenModel.kt$LibraryScreenModel$private fun filterManga( queries: List<QueryComponent>, libraryManga: LibraryManga, tracks: List<Track>?, source: Source?, checkGenre: Boolean = true, searchTags: List<SearchTag>? = null, searchTitles: List<SearchTitle>? = null, loggedInTrackServices: Map<Long, TriState>, ): Boolean - CyclomaticComplexMethod:LibraryScreenModel.kt$LibraryScreenModel$private fun getGroupedMangaItems( groupType: Int, libraryManga: List<LibraryItem>, ): LibraryMap - CyclomaticComplexMethod:LibraryScreenModel.kt$LibraryScreenModel$private suspend fun LibraryMap.applyFilters( trackMap: Map<Long, List<Track>>, loggedInTrackers: Map<Long, TriState>, ): LibraryMap - CyclomaticComplexMethod:LibrarySortMode.kt$LibrarySort.Companion$fun deserialize(serialized: String): LibrarySort - CyclomaticComplexMethod:LibraryTab.kt$LibraryTab$@Composable override fun Content() - CyclomaticComplexMethod:LibraryUpdateJob.kt$LibraryUpdateJob$private suspend fun addMangaToQueue(categoryId: Long, group: Int, groupExtra: String?) - CyclomaticComplexMethod:LibraryUpdateJob.kt$LibraryUpdateJob$private suspend fun updateChapterList() - CyclomaticComplexMethod:LocalFavoritesStorage.kt$LocalFavoritesStorage$private fun FavoriteEntry.urlEquals(other: FavoriteEntry) - CyclomaticComplexMethod:LocalSource.kt$LocalSource$override suspend fun getMangaDetails(manga: SManga): SManga - CyclomaticComplexMethod:LocalSource.kt$LocalSource$override suspend fun getSearchManga(page: Int, query: String, filters: FilterList): MangasPage - CyclomaticComplexMethod:LocalSource.kt$LocalSource$private fun updateCover(chapter: SChapter, manga: SManga): UniFile? - CyclomaticComplexMethod:MainActivity.kt$MainActivity$override fun onCreate(savedInstanceState: Bundle?) - CyclomaticComplexMethod:MainActivity.kt$MainActivity$private fun handleIntentAction(intent: Intent, navigator: Navigator): Boolean - CyclomaticComplexMethod:MangaBackupCreator.kt$MangaBackupCreator$private suspend fun backupManga(manga: Manga, options: BackupOptions): BackupManga - CyclomaticComplexMethod:MangaChapterListItem.kt$@Composable fun MangaChapterListItem( title: String, date: String?, readProgress: String?, scanlator: String?, // SY --> sourceName: String?, // SY <-- read: Boolean, bookmark: Boolean, selected: Boolean, downloadIndicatorEnabled: Boolean, downloadStateProvider: () -> Download.State, downloadProgressProvider: () -> Int, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, onLongClick: () -> Unit, onClick: () -> Unit, onDownloadClick: ((ChapterDownloadAction) -> Unit)?, onChapterSwipe: (LibraryPreferences.ChapterSwipeAction) -> Unit, modifier: Modifier = Modifier, ) - CyclomaticComplexMethod:MangaInfoHeader.kt$@Composable private fun ColumnScope.MangaContentInfo( title: String, doSearch: (query: String, global: Boolean) -> Unit, author: String?, artist: String?, status: Long, sourceName: String, isStubSource: Boolean, textAlign: TextAlign? = LocalTextStyle.current.textAlign, ) - CyclomaticComplexMethod:MangaScreen.kt$MangaScreen$@Composable override fun Content() - CyclomaticComplexMethod:MangaScreenModel.kt$MangaScreenModel$fun toggleSelection( item: ChapterList.Item, selected: Boolean, userSelected: Boolean = false, fromLongPress: Boolean = false, ) - CyclomaticComplexMethod:MangaToolbar.kt$@Composable fun MangaToolbar( title: String, titleAlphaProvider: () -> Float, hasFilters: Boolean, onBackClicked: () -> Unit, onClickFilter: () -> Unit, onClickShare: (() -> Unit)?, onClickDownload: ((DownloadAction) -> Unit)?, onClickEditCategory: (() -> Unit)?, onClickRefresh: () -> Unit, onClickMigrate: (() -> Unit)?, // SY --> onClickEditInfo: (() -> Unit)?, onClickRecommend: (() -> Unit)?, onClickMerge: (() -> Unit)?, onClickMergedSettings: (() -> Unit)?, // SY <-- // For action mode actionModeCounter: Int, onSelectAll: () -> Unit, onInvertSelection: () -> Unit, modifier: Modifier = Modifier, backgroundAlphaProvider: () -> Float = titleAlphaProvider, ) - CyclomaticComplexMethod:MangaType.kt$fun Manga.mangaType(sourceName: String? = Injekt.get<SourceManager>().get(source)?.name): MangaType - CyclomaticComplexMethod:MangaType.kt$private fun isComicSource(sourceName: String): Boolean - CyclomaticComplexMethod:MangaType.kt$private fun isManhwaSource(sourceName: String): Boolean - CyclomaticComplexMethod:MetadataUIUtil.kt$MetadataUIUtil$fun getGenreAndColour(context: Context, genre: String) - CyclomaticComplexMethod:MigrationListScreen.kt$MigrationListScreen$@Composable override fun Content() - CyclomaticComplexMethod:MigrationListScreenModel.kt$MigrationListScreenModel$private suspend fun migrateMangaInternal( prevManga: Manga, manga: Manga, replace: Boolean, ) - CyclomaticComplexMethod:MigrationListScreenModel.kt$MigrationListScreenModel$private suspend fun runMigrations(mangas: List<MigratingManga>) - CyclomaticComplexMethod:Migrations.kt$Migrations$fun upgrade( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, ): Boolean - CyclomaticComplexMethod:NHentaiDescriptionAdapter.kt$@Composable fun NHentaiDescription(state: State.Success, openMetadataViewer: () -> Unit) - CyclomaticComplexMethod:NHentaiSearchMetadata.kt$NHentaiSearchMetadata$override fun createMangaInfo(manga: SManga): SManga - CyclomaticComplexMethod:NotificationReceiver.kt$NotificationReceiver$override fun onReceive(context: Context, intent: Intent) - CyclomaticComplexMethod:PagerPageHolder.kt$PagerPageHolder$private fun mergePages(imageStream: InputStream, imageStream2: InputStream?): InputStream - CyclomaticComplexMethod:PagerPageHolder.kt$PagerPageHolder$private fun splitInHalf(imageStream: InputStream): InputStream - CyclomaticComplexMethod:PagerViewer.kt$PagerViewer$override fun handleKeyEvent(event: KeyEvent): Boolean - CyclomaticComplexMethod:PagerViewerAdapter.kt$PagerViewerAdapter$fun setChapters(chapters: ViewerChapters, forceTransition: Boolean) - CyclomaticComplexMethod:PagerViewerAdapter.kt$PagerViewerAdapter$private fun setJoinedItems(useSecondPage: Boolean = false) - CyclomaticComplexMethod:PreferenceItem.kt$@Composable internal fun PreferenceItem( item: Preference.PreferenceItem<*>, highlightKey: String?, ) - CyclomaticComplexMethod:PururinDescriptionAdapter.kt$@Composable fun PururinDescription(state: State.Success, openMetadataViewer: () -> Unit) - CyclomaticComplexMethod:RateLimitInterceptor.kt$RateLimitInterceptor$override fun intercept(chain: Interceptor.Chain): Response - CyclomaticComplexMethod:ReaderActivity.kt$ReaderActivity$override fun onCreate(savedInstanceState: Bundle?) - CyclomaticComplexMethod:ReaderActivity.kt$ReaderActivity$private fun initializeMenu() - CyclomaticComplexMethod:ReaderViewModel.kt$ReaderViewModel$private suspend fun updateChapterProgress( readerChapter: ReaderChapter, page: Page/* SY --> */, hasExtraPage: Boolean, /* SY <-- */ ) - CyclomaticComplexMethod:Scaffold.kt$@Composable private fun ScaffoldLayout( fabPosition: FabPosition, topBar: @Composable () -> Unit, startBar: @Composable () -> Unit, content: @Composable (PaddingValues) -> Unit, snackbar: @Composable () -> Unit, fab: @Composable () -> Unit, contentWindowInsets: WindowInsets, bottomBar: @Composable () -> Unit, ) - CyclomaticComplexMethod:SearchEngine.kt$SearchEngine$fun parseQuery(query: String, enableWildcard: Boolean = true) - CyclomaticComplexMethod:SettingsEhScreen.kt$SettingsEhScreen$private fun getRelativeTimeFromNow(then: Duration): RelativeTime - CyclomaticComplexMethod:SettingsEhScreen.kt$SettingsEhScreen$private fun getRelativeTimeString(relativeTime: RelativeTime, context: Context): String - CyclomaticComplexMethod:SourceTagsUtil.kt$SourceTagsUtil$fun getLocaleSourceUtil(language: String?) - CyclomaticComplexMethod:SourceTagsUtil.kt$SourceTagsUtil$fun getWrappedTag( sourceId: Long?, namespace: String? = null, tag: String? = null, fullTag: String? = null, ): String? - CyclomaticComplexMethod:SourcesScreenModel.kt$SourcesScreenModel$private fun collectLatestSources(sources: List<Source>, categories: List<String>, showLatest: Boolean, showPin: Boolean) - CyclomaticComplexMethod:SyncChaptersWithSource.kt$SyncChaptersWithSource$suspend fun await( rawSourceChapters: List<SChapter>, manga: Manga, source: Source, manualFetch: Boolean = false, fetchWindow: Pair<Long, Long> = Pair(0, 0), ): List<Chapter> - CyclomaticComplexMethod:TrackStatus.kt$TrackStatus.Companion$fun parseTrackerStatus(trackerManager: TrackerManager, tracker: Long, status: Long): TrackStatus? - CyclomaticComplexMethod:TriStateListDialog.kt$@Composable fun <T> TriStateListDialog( title: String, message: String? = null, items: List<T>, initialChecked: List<T>, initialInversed: List<T>, itemLabel: @Composable (T) -> String, onDismissRequest: () -> Unit, onValueChanged: (newIncluded: List<T>, newExcluded: List<T>) -> Unit, ) - CyclomaticComplexMethod:TsuminoDescriptionAdapter.kt$@Composable fun TsuminoDescription(state: State.Success, openMetadataViewer: () -> Unit) - CyclomaticComplexMethod:UpdatesScreenModel.kt$UpdatesScreenModel$fun toggleSelection( item: UpdatesItem, selected: Boolean, userSelected: Boolean = false, fromLongPress: Boolean = false, ) - CyclomaticComplexMethod:VerticalFastScroller.kt$@Composable fun VerticalFastScroller( listState: LazyListState, modifier: Modifier = Modifier, thumbAllowed: () -> Boolean = { true }, thumbColor: Color = MaterialTheme.colorScheme.primary, topContentPadding: Dp = Dp.Hairline, bottomContentPadding: Dp = Dp.Hairline, endContentPadding: Dp = Dp.Hairline, content: @Composable () -> Unit, ) - CyclomaticComplexMethod:VerticalFastScroller.kt$@Composable fun VerticalGridFastScroller( state: LazyGridState, columns: GridCells, arrangement: Arrangement.Horizontal, contentPadding: PaddingValues, modifier: Modifier = Modifier, thumbAllowed: () -> Boolean = { true }, thumbColor: Color = MaterialTheme.colorScheme.primary, topContentPadding: Dp = Dp.Hairline, bottomContentPadding: Dp = Dp.Hairline, endContentPadding: Dp = Dp.Hairline, content: @Composable () -> Unit, ) - CyclomaticComplexMethod:WebtoonRecyclerView.kt$WebtoonRecyclerView.Detector$override fun onTouchEvent(ev: MotionEvent): Boolean - CyclomaticComplexMethod:WebtoonViewer.kt$WebtoonViewer$override fun handleKeyEvent(event: KeyEvent): Boolean - DestructuringDeclarationWithTooManyEntries:ExtensionsScreenModel.kt$ExtensionsScreenModel$(_updates, _installed, _available, _untrusted) - DestructuringDeclarationWithTooManyEntries:MangaInfoHeader.kt$(shrunk, expanded, actual, scrim) - DestructuringDeclarationWithTooManyEntries:MangaScreenModel.kt$MangaScreenModel$(manga, chapters /* SY --> */, flatMetadata, mergedData /* SY <-- */) - DestructuringDeclarationWithTooManyEntries:NamespaceTags.kt$(_, text, search, border) - EmptyCatchBlock:EnhancedFilePrinter.kt$EnhancedFilePrinter.Writer${ } - EmptyCatchBlock:MigrationListScreenModel.kt$MigrationListScreenModel${ } - EmptyCatchBlock:RarPageLoader.kt$RarPageLoader${ } - EmptyDefaultConstructor:FavoritesSyncHelper.kt$FavoritesSyncStatus$() - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.ImageSize$1280 : ImageSize - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.ImageSize$1600 : ImageSize - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.ImageSize$2400 : ImageSize - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.ImageSize$780 : ImageSize - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.ImageSize$980 : ImageSize - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.SearchResultsCount$100 : SearchResultsCount - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.SearchResultsCount$200 : SearchResultsCount - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.SearchResultsCount$25 : SearchResultsCount - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.SearchResultsCount$50 : SearchResultsCount - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.ThumbnailRows$10 : ThumbnailRows - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.ThumbnailRows$20 : ThumbnailRows - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.ThumbnailRows$4 : ThumbnailRows - EnumEntryNameCase:EhUConfigBuilder.kt$Entry.ThumbnailRows$40 : ThumbnailRows - EnumNaming:EhUConfigBuilder.kt$Entry.ImageSize$1280 : ImageSize - EnumNaming:EhUConfigBuilder.kt$Entry.ImageSize$1600 : ImageSize - EnumNaming:EhUConfigBuilder.kt$Entry.ImageSize$2400 : ImageSize - EnumNaming:EhUConfigBuilder.kt$Entry.ImageSize$780 : ImageSize - EnumNaming:EhUConfigBuilder.kt$Entry.ImageSize$980 : ImageSize - EnumNaming:EhUConfigBuilder.kt$Entry.SearchResultsCount$100 : SearchResultsCount - EnumNaming:EhUConfigBuilder.kt$Entry.SearchResultsCount$200 : SearchResultsCount - EnumNaming:EhUConfigBuilder.kt$Entry.SearchResultsCount$25 : SearchResultsCount - EnumNaming:EhUConfigBuilder.kt$Entry.SearchResultsCount$50 : SearchResultsCount - EnumNaming:EhUConfigBuilder.kt$Entry.ThumbnailRows$10 : ThumbnailRows - EnumNaming:EhUConfigBuilder.kt$Entry.ThumbnailRows$20 : ThumbnailRows - EnumNaming:EhUConfigBuilder.kt$Entry.ThumbnailRows$4 : ThumbnailRows - EnumNaming:EhUConfigBuilder.kt$Entry.ThumbnailRows$40 : ThumbnailRows - EqualsAlwaysReturnsTrueOrFalse:FilterList.kt$FilterList$override fun equals(other: Any?): Boolean - ExplicitItLambdaParameter:ColorFilterPage.kt${ index, it -> FilterChip( selected = colorFilterMode == index, onClick = { screenModel.preferences.colorFilterMode().set(index) }, label = { Text(stringResource(it.first)) }, ) } - ExplicitItLambdaParameter:FavoritesSyncHelper.kt$FavoritesSyncHelper${ index, it -> status.value = FavoritesSyncStatus.Processing( context.stringResource(SYMR.strings.favorites_sync_remove_from_local, index + 1, changeSet.removed.size), title = it.title, ) val url = it.getUrl() // Consider both EX and EH sources listOf( EXH_SOURCE_ID, EH_SOURCE_ID, ).forEach { val manga = getManga.await(url, it) if (manga?.favorite == true) { updateManga.awaitUpdateFavorite(manga.id, false) removedManga += manga } } } - ExplicitItLambdaParameter:FavoritesSyncHelper.kt$FavoritesSyncHelper${ index, it -> status.value = FavoritesSyncStatus.Processing( message = context.stringResource(SYMR.strings.favorites_sync_add_to_local, index + 1, changeSet.added.size), isThrottle = needWarnThrottle(), context = context, title = it.title, ) throttleManager.throttle() // Import using gallery adder val result = galleryAdder.addGallery( context = context, url = "${exh.baseUrl}${it.getUrl()}", fav = true, forceSource = exh, throttleFunc = throttleManager::throttle, retry = 3, ) if (result is GalleryAddEvent.Fail) { if (result is GalleryAddEvent.Fail.NotFound) { logger.e(context.stringResource(SYMR.strings.favorites_sync_remote_not_exist, it.getUrl())) // Skip this gallery, it no longer exists return@forEachIndexed } val errorString = context.stringResource(SYMR.strings.favorites_sync_failed_to_add_to_local) + when (result) { is GalleryAddEvent.Fail.Error -> context.stringResource( SYMR.strings.favorites_sync_failed_to_add_to_local_error, it.title, result.logMessage, ) is GalleryAddEvent.Fail.UnknownType -> context.stringResource( SYMR.strings.favorites_sync_failed_to_add_to_local_unknown_type, it.title, result.galleryUrl, ) is GalleryAddEvent.Fail.UnknownSource -> context.stringResource( SYMR.strings.favorites_sync_failed_to_add_to_local_unknown_type, it.title, result.galleryUrl, ) } if (prefs.exhLenientSync().get()) { errorList += errorString } else { status.value = FavoritesSyncStatus.Error(errorString) throw IgnoredException(errorString) } } else if (result is GalleryAddEvent.Success) { insertedMangaCategories += categories[it.category].id to result.manga } } - ExplicitItLambdaParameter:FavoritesSyncHelper.kt$FavoritesSyncHelper${ index, it -> status.value = FavoritesSyncStatus.Processing( message = context.stringResource(SYMR.strings.favorites_sync_adding_to_remote, index + 1, changeSet.added.size), isThrottle = needWarnThrottle(), context = context, title = it.title, ) throttleManager.throttle() addGalleryRemote(errorList, it) } - ExplicitItLambdaParameter:LibraryTab.kt$LibraryTab${ it: LibraryManga -> scope.launchIO { val chapter = screenModel.getNextUnreadChapter(it.manga) if (chapter != null) { context.startActivity( ReaderActivity.newIntent(context, chapter.mangaId, chapter.id), ) } else { snackbarHostState.showSnackbar(context.stringResource(MR.strings.no_next_chapter)) } } Unit } - ExplicitItLambdaParameter:ReadingModePage.kt${ index, it -> FilterChip( selected = centerMarginType == index, onClick = { screenModel.preferences.centerMarginType().set(index) }, label = { Text(stringResource(it)) }, ) } - ExplicitItLambdaParameter:ReadingModePage.kt${ index, it -> FilterChip( selected = imageScaleType == index + 1, onClick = { screenModel.preferences.imageScaleType().set(index + 1) }, label = { Text(stringResource(it)) }, ) } - ExplicitItLambdaParameter:ReadingModePage.kt${ index, it -> FilterChip( selected = pageLayout == index, onClick = { screenModel.preferences.pageLayout().set(index) }, label = { Text(stringResource(it)) }, ) } - ExplicitItLambdaParameter:ReadingModePage.kt${ index, it -> FilterChip( selected = selected == index, onClick = { onSelect(index) }, label = { Text(stringResource(it)) }, ) } - ExplicitItLambdaParameter:ReadingModePage.kt${ index, it -> FilterChip( selected = zoomStart == index + 1, onClick = { screenModel.preferences.zoomStart().set(index + 1) }, label = { Text(stringResource(it)) }, ) } - ExplicitItLambdaParameter:SettingsReaderScreen.kt$SettingsReaderScreen${ index, it -> index + 1 to stringResource(it) } - ExplicitItLambdaParameter:SettingsReaderScreen.kt$SettingsReaderScreen${ index, it -> index to stringResource(it) } - Filename:__Assets.kt$exh.assets.ehassets.exh.__Assets.kt - Filename:__EhAssets.kt$exh.assets.__EhAssets.kt - Filename:__Ehassets.kt$exh.assets.ehassets.exh.assets.__Ehassets.kt - Filename:__Exh.kt$exh.assets.ehassets.__Exh.kt - FinalNewline:Commands.kt$.Commands.kt - ForEachOnRange:MangaBottomActionMenu.kt$0..<5 - ForEachOnRange:MangaBottomActionMenu.kt$0..<7 - ForEachOnRange:PagerViewerAdapter.kt$PagerViewerAdapter$fullPageBeforeIndex until items.size - ForEachOnRange:UpdatesWidget.kt$0..<rowCount - ForbiddenComment:AddTracks.kt$AddTracks$// TODO: merge into [SyncChapterProgressWithTrack]? - ForbiddenComment:AddTracks.kt$AddTracks$// TODO: update all trackers based on common data - ForbiddenComment:AppTheme.kt$AppTheme.NORD$// TODO: re-enable for preview - ForbiddenComment:BackupRestorer.kt$BackupRestorer$// TODO: optionally trigger online library + tracker update - ForbiddenComment:BangumiApi.kt$BangumiApi$// TODO: get user readed chapter here - ForbiddenComment:BaseTracker.kt$BaseTracker$// TODO: Store all scores as 10 point in the future maybe? - ForbiddenComment:BaselineProfileGenerator.kt$BaselineProfileGenerator$// TODO: automate storage permissions and possibly open manga details screen too? - ForbiddenComment:CategoryDialogs.kt$// TODO: https://issuetracker.google.com/issues/204502668 - ForbiddenComment:Chapter.kt$// TODO: Remove when all deps are migrated - ForbiddenComment:ConfigurableSource.kt$// TODO: use getSourcePreferences once all extensions are on ext-lib 1.5 - ForbiddenComment:DisplayExtensions.kt$// TODO: move the logic to `isTabletUi()` when main activity is rewritten in Compose - ForbiddenComment:ExtensionReposDialogs.kt$// TODO: https://issuetracker.google.com/issues/204502668 - ForbiddenComment:GlobalSearchToolbar.kt$// TODO: make this UX better; it only applies when triggering a new search - ForbiddenComment:HomeScreen.kt$HomeScreen$// TODO: https://issuetracker.google.com/u/0/issues/316327367 - ForbiddenComment:LibrarySettingsDialog.kt$// TODO: re-enable when custom intervals are ready for stable - ForbiddenComment:LibraryTabs.kt$// TODO: use default when width is fixed upstream - ForbiddenComment:LibraryUpdateJob.kt$LibraryUpdateJob$// TODO: surface skipped reasons to user? - ForbiddenComment:LocalSource.kt$LocalSource$// TODO: remove support for this entirely after a while - ForbiddenComment:Localize.kt$// TODO: janky workaround for https://github.com/icerockdev/moko-resources/issues/337 - ForbiddenComment:MainActivity.kt$MainActivity$// TODO: replace with ComponentActivity#enableEdgeToEdge - ForbiddenComment:Manga.kt$// TODO: move these into the domain model - ForbiddenComment:MangaCoverScreenModel.kt$MangaCoverScreenModel$// TODO: Handle animated cover - ForbiddenComment:MangaInfoHeader.kt$// TODO: show something better when using custom interval - ForbiddenComment:MigrateSourceTab.kt$// TODO: Jay wtf, need to clean this up sometime - ForbiddenComment:PreferenceItem.kt$// TODO: use different composable? - ForbiddenComment:ReaderPreferences.kt$ReaderPreferences$// TODO: default this to true if reader long strip ever goes stable - ForbiddenComment:SettingsAdvancedScreen.kt$SettingsAdvancedScreen$// TODO: allow private option in stable versions once URL handling is more fleshed out - ForbiddenComment:Tracker.kt$Tracker$// TODO: Store all scores as 10 point in the future maybe? - ForbiddenComment:Tracker.kt$Tracker$// TODO: move this to an interactor, and update all trackers based on common data - ForbiddenComment:VerticalFastScroller.kt$// TODO: Sometimes item height is not available when scrolling up - FunctionNaming:Downloader.kt$Downloader$private fun _clearQueue() - FunctionNaming:PagePreviews.kt$fun LazyListScope.PagePreviewItems( pagePreviewState: PagePreviewState, onOpenPage: (Int) -> Unit, onMorePreviewsClicked: () -> Unit, maxWidth: Dp, setMaxWidth: (Dp) -> Unit, rowCount: Int, ) - FunctionNaming:Pin.kt$fun Pins(vararg pins: Pin) - FunctionNaming:PullRefresh.kt$PullToRefreshStateImpl.Companion$fun Saver( extraVerticalOffset: Float, positionalThreshold: Float, enabled: () -> Boolean, onRefresh: () -> Unit, ) - FunctionNaming:Requests.kt$fun DELETE( url: String, headers: Headers = DEFAULT_HEADERS, body: RequestBody = DEFAULT_BODY, cache: CacheControl = DEFAULT_CACHE_CONTROL, ): Request - FunctionNaming:Requests.kt$fun GET( url: HttpUrl, headers: Headers = DEFAULT_HEADERS, cache: CacheControl = DEFAULT_CACHE_CONTROL, ): Request - FunctionNaming:Requests.kt$fun GET( url: String, headers: Headers = DEFAULT_HEADERS, cache: CacheControl = DEFAULT_CACHE_CONTROL, ): Request - FunctionNaming:Requests.kt$fun PATCH( url: String, headers: Headers = DEFAULT_HEADERS, body: RequestBody = DEFAULT_BODY, cache: CacheControl = DEFAULT_CACHE_CONTROL, ): Request - FunctionNaming:Requests.kt$fun POST( url: String, headers: Headers = DEFAULT_HEADERS, body: RequestBody = DEFAULT_BODY, cache: CacheControl = DEFAULT_CACHE_CONTROL, ): Request - FunctionNaming:Requests.kt$fun PUT( url: String, headers: Headers = DEFAULT_HEADERS, body: RequestBody = DEFAULT_BODY, cache: CacheControl = DEFAULT_CACHE_CONTROL, ): Request - FunctionParameterNaming:MangaScreen.kt$MangaScreen$manga_: Manga? - FunctionParameterNaming:MangaScreen.kt$MangaScreen$source_: Source? - FunctionParameterNaming:SChapter.kt$SChapter.Companion$chapter_number: Float = -1F - FunctionParameterNaming:SChapter.kt$SChapter.Companion$date_upload: Long = 0 - FunctionParameterNaming:SManga.kt$SManga.Companion$thumbnail_url: String? = null - FunctionParameterNaming:SManga.kt$thumbnail_url: String? = this.originalThumbnailUrl - FunctionParameterNaming:WebViewInterceptor.kt$_name: String - FunctionParameterNaming:WebViewInterceptor.kt$_value: String - ImplicitDefaultLocale:MetadataUtil.kt$MetadataUtil$String.format("%.1f %sB", bytes / unit.toDouble().pow(exp.toDouble()), pre) - ImplicitDefaultLocale:TimeRange.kt$TimeRange$String.format("%02d:%02d - %02d:%02d", startHour, startMinute, endHour, endMinute) - ImportOrdering:Commands.kt$import org.gradle.api.Project import java.io.ByteArrayOutputStream import java.text.SimpleDateFormat import java.util.TimeZone import java.util.Date - ImportOrdering:LocalCoverManager.kt$import android.content.Context import com.hippo.unifile.UniFile import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.util.storage.CbzCrypto import tachiyomi.core.common.storage.addStreamToZip import eu.kanade.tachiyomi.util.storage.DiskUtil import tachiyomi.core.common.storage.nameWithoutExtension import tachiyomi.core.common.util.system.ImageUtil import tachiyomi.source.local.io.LocalSourceFileSystem import java.io.InputStream - ImportOrdering:LocalSource.kt$import android.content.Context import android.os.Build import com.hippo.unifile.UniFile import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.UnmeteredSource import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder import eu.kanade.tachiyomi.util.storage.CbzCrypto import eu.kanade.tachiyomi.util.storage.EpubFile import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream import kotlinx.serialization.json.encodeToStream import logcat.LogPriority import nl.adaptivity.xmlutil.AndroidXmlReader import nl.adaptivity.xmlutil.serialization.XML import tachiyomi.core.common.i18n.stringResource import tachiyomi.core.metadata.comicinfo.COMIC_INFO_FILE import tachiyomi.core.metadata.comicinfo.ComicInfo import tachiyomi.core.metadata.comicinfo.copyFromComicInfo import tachiyomi.core.metadata.comicinfo.getComicInfo import tachiyomi.core.metadata.tachiyomi.MangaDetails import tachiyomi.core.common.storage.UniFileTempFileManager import tachiyomi.core.common.storage.addStreamToZip import tachiyomi.core.common.storage.extension import tachiyomi.core.common.storage.getCoverStreamFromZip import tachiyomi.core.common.storage.getZipInputStream import tachiyomi.core.common.storage.isEncryptedZip import tachiyomi.core.common.storage.nameWithoutExtension import tachiyomi.core.common.util.lang.withIOContext import tachiyomi.core.common.util.system.ImageUtil import tachiyomi.core.common.util.system.logcat import tachiyomi.domain.chapter.service.ChapterRecognition import tachiyomi.domain.manga.model.Manga import tachiyomi.i18n.MR import tachiyomi.source.local.filter.OrderBy import tachiyomi.source.local.image.LocalCoverManager import tachiyomi.source.local.io.Archive import tachiyomi.source.local.io.Format import tachiyomi.source.local.io.LocalSourceFileSystem import tachiyomi.source.local.metadata.fillMetadata import uy.kohesive.injekt.injectLazy import java.io.InputStream import java.nio.charset.StandardCharsets import kotlin.time.Duration.Companion.days import com.github.junrar.Archive as JunrarArchive import tachiyomi.domain.source.model.Source as DomainSource - Indentation:BackupCreator.kt$BackupCreator$ - Indentation:LocalSource.kt$LocalSource$ - Indentation:LocalesConfigPlugin.kt$ - Indentation:PagerPageHolder.kt$PagerPageHolder$ - InstanceOfCheckForException:AppUpdateDownloadJob.kt$AppUpdateDownloadJob$e is CancellationException - InstanceOfCheckForException:AppUpdateDownloadJob.kt$AppUpdateDownloadJob$e is StreamResetException - InstanceOfCheckForException:BackupRestoreJob.kt$BackupRestoreJob$e is CancellationException - InstanceOfCheckForException:Downloader.kt$Downloader$e is CancellationException - InstanceOfCheckForException:Downloader.kt$Downloader$error is CancellationException - InstanceOfCheckForException:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$t is EHentai.GalleryNotFoundException - InstanceOfCheckForException:GalleryAdder.kt$GalleryAdder$e is EHentai.GalleryNotFoundException - InstanceOfCheckForException:HttpPageLoader.kt$HttpPageLoader$e is CancellationException - InstanceOfCheckForException:LibraryUpdateJob.kt$LibraryUpdateJob$e is CancellationException - InstanceOfCheckForException:MangaScreen.kt$MangaScreen$e is CancellationException - InstanceOfCheckForException:MangaScreenModel.kt$MangaScreenModel$e is HttpException - InstanceOfCheckForException:MangaScreenModel.kt$MangaScreenModel$e is NoChaptersException - InstanceOfCheckForException:MergedSource.kt$MergedSource$e is CancellationException - InstanceOfCheckForException:MetadataUpdateJob.kt$MetadataUpdateJob$e is CancellationException - InstanceOfCheckForException:MigrationListScreenModel.kt$MigrationListScreenModel$e is CancellationException - InstanceOfCheckForException:ReaderViewModel.kt$ReaderViewModel$e is CancellationException - InstanceOfCheckForException:RxCoroutineBridge.kt$e !is CancellationException - InstanceOfCheckForException:SmartSearchScreenModel.kt$SmartSearchScreenModel$e is CancellationException - InstanceOfCheckForException:UncaughtExceptionInterceptor.kt$UncaughtExceptionInterceptor$e is IOException - LargeClass:Artist.kt$Artist : TagList - LargeClass:Artist2.kt$Artist2 : TagList - LargeClass:Character.kt$Character : TagList - LargeClass:EHentai.kt$EHentai : HttpSourceMetadataSourceUrlImportableSourceNamespaceSourcePagePreviewSource - LargeClass:EXHMigrations.kt$EXHMigrations - LargeClass:Group.kt$Group : TagList - LargeClass:LibraryScreenModel.kt$LibraryScreenModel : StateScreenModel - LargeClass:MangaScreenModel.kt$MangaScreenModel : StateScreenModel - LargeClass:Parody.kt$Parody : TagList - LargeClass:ReaderActivity.kt$ReaderActivity : BaseActivity - LargeClass:ReaderViewModel.kt$ReaderViewModel : ViewModel - LargeClass:SettingsAdvancedScreen.kt$SettingsAdvancedScreen : SearchableSettings - LargeClass:SettingsEhScreen.kt$SettingsEhScreen : SearchableSettings - LongMethod:AnilistApi.kt$AnilistApi$suspend fun findLibManga(track: Track, userid: Int): Track? - LongMethod:ApiMangaParser.kt$ApiMangaParser$fun parseIntoMetadata( metadata: MangaDexSearchMetadata, mangaDto: MangaDto, simpleChapters: List<String>, statistics: StatisticsMangaDto?, ) - LongMethod:AppModule.kt$AppModule$override fun InjektRegistrar.registerInjectables() - LongMethod:Artist.kt$Artist$override fun getTags1(): List<String> - LongMethod:Artist.kt$Artist$override fun getTags2(): List<String> - LongMethod:Artist.kt$Artist$override fun getTags3(): List<String> - LongMethod:Artist2.kt$Artist2$override fun getTags1(): List<String> - LongMethod:Artist2.kt$Artist2$override fun getTags2(): List<String> - LongMethod:Artist2.kt$Artist2$override fun getTags3(): List<String> - LongMethod:BatchAddScreenModel.kt$BatchAddScreenModel$private fun addGalleries(context: Context, galleries: String) - LongMethod:ChapterLoader.kt$ChapterLoader$private fun getPageLoader(chapter: ReaderChapter): PageLoader - LongMethod:Character.kt$Character$override fun getTags1(): List<String> - LongMethod:Character.kt$Character$override fun getTags2(): List<String> - LongMethod:Character.kt$Character$override fun getTags3(): List<String> - LongMethod:Cosplayer.kt$Cosplayer$override fun getTags1(): List<String> - LongMethod:DomainModule.kt$DomainModule$override fun InjektRegistrar.registerInjectables() - LongMethod:DownloadCache.kt$DownloadCache$private fun renewCache() - LongMethod:Downloader.kt$Downloader$private suspend fun downloadChapter(download: Download) - LongMethod:EHentai.kt$EHentai$override suspend fun parseIntoMetadata(metadata: EHentaiSearchMetadata, input: Document) - LongMethod:EHentai.kt$EHentai$private fun extendedGenericMangaParse(doc: Document) - LongMethod:EHentai.kt$EHentai$suspend fun getChapterList(manga: SManga, throttleFunc: suspend () -> Unit): List<SChapter> - LongMethod:EHentaiUpdateHelper.kt$EHentaiUpdateHelper$private fun getChapterList( accepted: ChapterChain, toDiscard: List<ChapterChain>, chainsAsChapters: List<Chapter>, ): Triple<List<ChapterUpdate>, List<Chapter>, Boolean> - LongMethod:EHentaiUpdateHelper.kt$EHentaiUpdateHelper$suspend fun findAcceptedRootAndDiscardOthers( sourceId: Long, chapters: List<Chapter>, ): Triple<ChapterChain, List<ChapterChain>, Boolean> - LongMethod:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$private suspend fun startUpdating() - LongMethod:EXHMigrations.kt$EXHMigrations$fun upgrade( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, pagePreviewCache: PagePreviewCache, ): Boolean - LongMethod:EditMangaDialog.kt$private fun onViewCreated(manga: Manga, context: Context, binding: EditMangaDialogBinding, scope: CoroutineScope) - LongMethod:EditMergedSettingsHeaderAdapter.kt$EditMergedSettingsHeaderAdapter.HeaderViewHolder$fun bind() - LongMethod:EhUConfigBuilder.kt$EhUConfigBuilder$fun build(hathPerks: EHHathPerksResponse): FormBody - LongMethod:ExtensionLoader.kt$ExtensionLoader$private fun loadExtension(context: Context, extensionInfo: ExtensionInfo): LoadResult - LongMethod:FavoritesSyncHelper.kt$FavoritesSyncHelper$private suspend fun applyChangeSetToLocal(errorList: MutableList<String>, changeSet: ChangeSet) - LongMethod:FavoritesSyncHelper.kt$FavoritesSyncHelper$private suspend fun beginSync() - LongMethod:Female.kt$Female$override fun getTags1(): List<String> - LongMethod:FilterHandler.kt$FilterHandler$fun getQueryMap(filters: FilterList): Map<String, Any> - LongMethod:FilterHandler.kt$FilterHandler$internal fun getTags() - LongMethod:GalleryAdder.kt$GalleryAdder$suspend fun addGallery( context: Context, url: String, fav: Boolean = false, forceSource: UrlImportableSource? = null, throttleFunc: suspend () -> Unit = {}, retry: Int = 1, ): GalleryAddEvent - LongMethod:Group.kt$Group$override fun getTags1(): List<String> - LongMethod:Group.kt$Group$override fun getTags2(): List<String> - LongMethod:Group.kt$Group$override fun getTags3(): List<String> - LongMethod:Group2.kt$Group2$override fun getTags1(): List<String> - LongMethod:ImageUtil.kt$ImageUtil$fun chooseBackground(context: Context, imageStream: InputStream): Drawable - LongMethod:LibraryQuery.kt$LibraryQuery$override fun <R> execute(mapper: (SqlCursor) -> QueryResult<R>): QueryResult<R> - LongMethod:LibraryScreenModel.kt$LibraryScreenModel$private fun LibraryMap.applySort( // Map<MangaId, List<Track>> trackMap: Map<Long, List<Track>>, /* SY --> */ groupSort: LibrarySort? = null, /* SY <-- */ ): LibraryMap - LongMethod:LibraryScreenModel.kt$LibraryScreenModel$private fun filterManga( queries: List<QueryComponent>, libraryManga: LibraryManga, tracks: List<Track>?, source: Source?, checkGenre: Boolean = true, searchTags: List<SearchTag>? = null, searchTitles: List<SearchTitle>? = null, loggedInTrackServices: Map<Long, TriState>, ): Boolean - LongMethod:LibraryScreenModel.kt$LibraryScreenModel$private fun getGroupedMangaItems( groupType: Int, libraryManga: List<LibraryItem>, ): LibraryMap - LongMethod:LibraryScreenModel.kt$LibraryScreenModel$private suspend fun LibraryMap.applyFilters( trackMap: Map<Long, List<Track>>, loggedInTrackers: Map<Long, TriState>, ): LibraryMap - LongMethod:LibraryUpdateJob.kt$LibraryUpdateJob$private suspend fun addMangaToQueue(categoryId: Long, group: Int, groupExtra: String?) - LongMethod:LibraryUpdateJob.kt$LibraryUpdateJob$private suspend fun updateChapterList() - LongMethod:LocalSource.kt$LocalSource$override suspend fun getMangaDetails(manga: SManga): SManga - LongMethod:LocalSource.kt$LocalSource$override suspend fun getSearchManga(page: Int, query: String, filters: FilterList): MangasPage - LongMethod:MainActivity.kt$MainActivity$override fun onCreate(savedInstanceState: Bundle?) - LongMethod:MainActivity.kt$MainActivity$private fun handleIntentAction(intent: Intent, navigator: Navigator): Boolean - LongMethod:Male.kt$Male$override fun getTags1(): List<String> - LongMethod:MangaScreen.kt$private fun LazyListScope.sharedChapterItems( manga: Manga, chapters: List<ChapterList>, isAnyChapterSelected: Boolean, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, // SY --> alwaysShowReadingProgress: Boolean, // SY <-- onChapterClicked: (Chapter) -> Unit, onDownloadChapter: ((List<ChapterList.Item>, ChapterDownloadAction) -> Unit)?, onChapterSelected: (ChapterList.Item, Boolean, Boolean, Boolean) -> Unit, onChapterSwipe: (ChapterList.Item, LibraryPreferences.ChapterSwipeAction) -> Unit, ) - LongMethod:MangaScreenModel.kt$MangaScreenModel$suspend fun smartSearchMerge(manga: Manga, originalMangaId: Long): Manga - LongMethod:MigrationListScreenModel.kt$MigrationListScreenModel$private suspend fun migrateMangaInternal( prevManga: Manga, manga: Manga, replace: Boolean, ) - LongMethod:MigrationListScreenModel.kt$MigrationListScreenModel$private suspend fun runMigrations(mangas: List<MigratingManga>) - LongMethod:Migrations.kt$Migrations$fun upgrade( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, ): Boolean - LongMethod:Notifications.kt$Notifications$fun createChannels(context: Context) - LongMethod:Other.kt$Other$override fun getTags1(): List<String> - LongMethod:PagerPageHolder.kt$PagerPageHolder$private fun mergePages(imageStream: InputStream, imageStream2: InputStream?): InputStream - LongMethod:PagerPageHolder.kt$PagerPageHolder$private suspend fun setImage() - LongMethod:PagerViewerAdapter.kt$PagerViewerAdapter$private fun setJoinedItems(useSecondPage: Boolean = false) - LongMethod:Parody.kt$Parody$override fun getTags1(): List<String> - LongMethod:Parody.kt$Parody$override fun getTags2(): List<String> - LongMethod:ReaderActivity.kt$ReaderActivity$override fun onCreate(savedInstanceState: Bundle?) - LongMethod:ReaderActivity.kt$ReaderActivity$private fun initializeMenu() - LongMethod:ReaderViewModel.kt$ReaderViewModel$suspend fun init(mangaId: Long, initialChapterId: Long /* SY --> */, page: Int?/* SY <-- */): Result<Boolean> - LongMethod:SYDomainModule.kt$SYDomainModule$override fun InjektRegistrar.registerInjectables() - LongMethod:SyncChaptersWithSource.kt$SyncChaptersWithSource$suspend fun await( rawSourceChapters: List<SChapter>, manga: Manga, source: Source, manualFetch: Boolean = false, fetchWindow: Pair<Long, Long> = Pair(0, 0), ): List<Chapter> - LongMethod:SyncManager.kt$SyncManager$suspend fun syncData() - LongMethod:Tester.kt$Tester$@Test fun localFavoritesStorageTester(): Unit - LongMethod:TrackStatus.kt$TrackStatus.Companion$fun parseTrackerStatus(trackerManager: TrackerManager, tracker: Long, status: Long): TrackStatus? - LongMethod:Tsumino.kt$Tsumino$override suspend fun parseIntoMetadata(metadata: TsuminoSearchMetadata, input: Document) - LongMethod:UpdatesQuery.kt$UpdatesQuery$override fun <R> execute(mapper: (SqlCursor) -> QueryResult<R>): QueryResult<R> - LongMethod:UpdatesUiItem.kt$internal fun LazyListScope.updatesUiItems( uiModels: List<UpdatesUiModel>, selectionMode: Boolean, // SY --> preserveReadingPosition: Boolean, // SY <-- onUpdateSelected: (UpdatesItem, Boolean, Boolean, Boolean) -> Unit, onClickCover: (UpdatesItem) -> Unit, onClickUpdate: (UpdatesItem) -> Unit, onDownloadChapter: (List<UpdatesItem>, ChapterDownloadAction) -> Unit, ) - LongMethod:WebtoonRecyclerView.kt$WebtoonRecyclerView.Detector$override fun onTouchEvent(ev: MotionEvent): Boolean - LongParameterList:ChapterLoader.kt$ChapterLoader$( private val context: Context, private val downloadManager: DownloadManager, private val downloadProvider: DownloadProvider, private val manga: Manga, private val source: Source, // SY --> private val sourceManager: SourceManager, private val readerPrefs: ReaderPreferences, private val mergedReferences: List<MergedMangaReference>, private val mergedManga: Map<Long, Manga>, // SY <-- ) - LongParameterList:ChapterMapper.kt$ChapterMapper$( id: Long, mangaId: Long, url: String, name: String, scanlator: String?, read: Boolean, bookmark: Boolean, lastPageRead: Long, chapterNumber: Double, sourceOrder: Long, dateFetch: Long, dateUpload: Long, lastModifiedAt: Long, version: Long, @Suppress("UNUSED_PARAMETER") isSyncing: Long, ) - LongParameterList:Chip.kt$ChipColors$( private val containerColor: Color, private val labelColor: Color, private val leadingIconContentColor: Color, private val trailingIconContentColor: Color, private val disabledContainerColor: Color, private val disabledLabelColor: Color, private val disabledLeadingIconContentColor: Color, private val disabledTrailingIconContentColor: Color, ) - LongParameterList:EXHMigrations.kt$EXHMigrations$( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, pagePreviewCache: PagePreviewCache, ) - LongParameterList:FavoritesEntryRepositoryImpl.kt$FavoritesEntryRepositoryImpl$( gid: String, token: String, title: String, category: Long, otherGid: String?, otherToken: String?, ) - LongParameterList:HistoryMapper.kt$HistoryMapper$( historyId: Long, mangaId: Long, chapterId: Long, title: String, thumbnailUrl: String?, sourceId: Long, isFavorite: Boolean, coverLastModified: Long, chapterNumber: Double, readAt: Date?, readDuration: Long, ) - LongParameterList:MangaChapterListItem.kt$( action: LibraryPreferences.ChapterSwipeAction, read: Boolean, bookmark: Boolean, downloadState: Download.State, background: Color, onSwipe: () -> Unit, ) - LongParameterList:MangaCoverFetcher.kt$MangaCoverFetcher$( private val url: String?, private val isLibraryManga: Boolean, private val options: Options, private val coverFileLazy: Lazy<File?>, private val customCoverFileLazy: Lazy<File>, private val diskCacheKeyLazy: Lazy<String>, private val sourceLazy: Lazy<HttpSource?>, private val callFactoryLazy: Lazy<Call.Factory>, private val diskCacheLazy: Lazy<DiskCache>, ) - LongParameterList:MangaRestorer.kt$MangaRestorer$( manga: Manga, chapters: List<BackupChapter>, categories: List<Long>, backupCategories: List<BackupCategory>, history: List<BackupHistory>, tracks: List<BackupTracking>, excludedScanlators: List<String>, // SY --> mergedMangaReferences: List<BackupMergedMangaReference>, flatMetadata: BackupFlatMetadata?, customManga: CustomMangaInfo?, // SY <-- ) - LongParameterList:MangaScreen.kt$( manga: Manga, chapters: List<ChapterList>, isAnyChapterSelected: Boolean, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, // SY --> alwaysShowReadingProgress: Boolean, // SY <-- onChapterClicked: (Chapter) -> Unit, onDownloadChapter: ((List<ChapterList.Item>, ChapterDownloadAction) -> Unit)?, onChapterSelected: (ChapterList.Item, Boolean, Boolean, Boolean) -> Unit, onChapterSwipe: (ChapterList.Item, LibraryPreferences.ChapterSwipeAction) -> Unit, ) - LongParameterList:MangaScreenModel.kt$MangaScreenModel$( title: String?, author: String?, artist: String?, thumbnailUrl: String?, description: String?, tags: List<String>?, status: Long?, ) - LongParameterList:MergedMangaMapper.kt$MergedMangaMapper$( id: Long, isInfoManga: Boolean, getChapterUpdates: Boolean, chapterSortMode: Long, chapterPriority: Long, downloadChapters: Boolean, mergeId: Long, mergeUrl: String, mangaId: Long?, mangaUrl: String, mangaSourceId: Long, ) - LongParameterList:Migrations.kt$Migrations$( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, ) - LongParameterList:PageHandler.kt$PageHandler$( private val headers: Headers, private val service: MangaDexService, private val mangaPlusHandler: MangaPlusHandler, private val comikeyHandler: ComikeyHandler, private val bilibiliHandler: BilibiliHandler, private val azukiHandler: AzukiHandler, private val mangaHotHandler: MangaHotHandler, private val preferences: TrackPreferences, private val mdList: MdList, ) - LongParameterList:PagePreviewFetcher.kt$PagePreviewFetcher$( private val page: PagePreview, private val options: Options, private val pagePreviewFile: () -> File, private val isInCache: () -> Boolean, private val writeToCache: (Source) -> Unit, private val diskCacheKeyLazy: Lazy<String>, private val sourceLazy: Lazy<PagePreviewSource?>, private val callFactoryLazy: Lazy<Call.Factory>, private val diskCacheLazy: Lazy<DiskCache>, ) - LongParameterList:PagePreviews.kt$( pagePreviewState: PagePreviewState, onOpenPage: (Int) -> Unit, onMorePreviewsClicked: () -> Unit, maxWidth: Dp, setMaxWidth: (Dp) -> Unit, rowCount: Int, ) - LongParameterList:ReaderViewModel.kt$ReaderViewModel$( page1: ReaderPage, page2: ReaderPage, isLTR: Boolean, @ColorInt bg: Int, location: Location, manga: Manga, ) - LongParameterList:Scrollbar.kt$( orientation: Orientation, reverseDirection: Boolean, atEnd: Boolean, showScrollbar: Boolean, thickness: Float, color: Color, alpha: () -> Float, thumbSize: Float, scrollOffset: Float, positionOffset: Float, ) - LongParameterList:SetMangaChapterFlags.kt$SetMangaChapterFlags$( mangaId: Long, unreadFilter: Long, downloadedFilter: Long, bookmarkedFilter: Long, sortingMode: Long, sortingDirection: Long, displayMode: Long, ) - LongParameterList:SyncChaptersWithSource.kt$SyncChaptersWithSource$( private val downloadManager: DownloadManager, private val downloadProvider: DownloadProvider, private val chapterRepository: ChapterRepository, private val shouldUpdateDbChapter: ShouldUpdateDbChapter, private val updateManga: UpdateManga, private val updateChapter: UpdateChapter, private val getChaptersByMangaId: GetChaptersByMangaId, private val getExcludedScanlators: GetExcludedScanlators, ) - LongParameterList:TrackMapper.kt$TrackMapper$( id: Long, mangaId: Long, syncId: Long, remoteId: Long, libraryId: Long?, title: String, lastChapterRead: Double, totalChapters: Long, status: Long, score: Double, remoteUrl: String, startDate: Long, finishDate: Long, ) - LongParameterList:UpdatesRepositoryImpl.kt$UpdatesRepositoryImpl$( mangaId: Long, mangaTitle: String, chapterId: Long, chapterName: String, scanlator: String?, read: Boolean, bookmark: Boolean, lastPageRead: Long, sourceId: Long, favorite: Boolean, thumbnailUrl: String?, coverLastModified: Long, dateUpload: Long, dateFetch: Long, ) - LongParameterList:UpdatesUiItem.kt$( uiModels: List<UpdatesUiModel>, selectionMode: Boolean, // SY --> preserveReadingPosition: Boolean, // SY <-- onUpdateSelected: (UpdatesItem, Boolean, Boolean, Boolean) -> Unit, onClickCover: (UpdatesItem) -> Unit, onClickUpdate: (UpdatesItem) -> Unit, onDownloadChapter: (List<UpdatesItem>, ChapterDownloadAction) -> Unit, ) - LongParameterList:WebtoonRecyclerView.kt$WebtoonRecyclerView$( fromRate: Float, toRate: Float, fromX: Float, toX: Float, fromY: Float, toY: Float, ) - LoopWithTooManyJumpStatements:ArchiveReader.kt$ArchiveReader$while - LoopWithTooManyJumpStatements:DownloadStore.kt$DownloadStore$for - LoopWithTooManyJumpStatements:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$for - LoopWithTooManyJumpStatements:GoogleDriveSyncService.kt$GoogleDriveSyncService$while - LoopWithTooManyJumpStatements:ImageUtil.kt$ImageUtil$for - LoopWithTooManyJumpStatements:Kavita.kt$Kavita$for - LoopWithTooManyJumpStatements:MemAutoFlushingLookupTable.kt$MemAutoFlushingLookupTable$while - LoopWithTooManyJumpStatements:MigrationListScreenModel.kt$MigrationListScreenModel$for - LoopWithTooManyJumpStatements:RateLimitInterceptor.kt$RateLimitInterceptor$while - LoopWithTooManyJumpStatements:UpdatesScreenModel.kt$UpdatesScreenModel$for - MagicNumber:AdaptiveSheet.kt$220 - MagicNumber:AdaptiveSheet.kt$90 - MagicNumber:Anilist.kt$Anilist$10 - MagicNumber:Anilist.kt$Anilist$10.0 - MagicNumber:Anilist.kt$Anilist$100 - MagicNumber:Anilist.kt$Anilist$10f - MagicNumber:Anilist.kt$Anilist$18 - MagicNumber:Anilist.kt$Anilist$20 - MagicNumber:Anilist.kt$Anilist$20.0 - MagicNumber:Anilist.kt$Anilist$25 - MagicNumber:Anilist.kt$Anilist$25.0 - MagicNumber:Anilist.kt$Anilist$35 - MagicNumber:Anilist.kt$Anilist$5 - MagicNumber:Anilist.kt$Anilist$60 - MagicNumber:AnilistApi.kt$AnilistApi$31536000000 - MagicNumber:AnilistModels.kt$10 - MagicNumber:AnilistModels.kt$30 - MagicNumber:AnilistModels.kt$35 - MagicNumber:AnilistModels.kt$50 - MagicNumber:AnilistModels.kt$60 - MagicNumber:AnilistModels.kt$70 - MagicNumber:AnilistModels.kt$90 - MagicNumber:App.kt$App$300 - MagicNumber:App.kt$App$8 - MagicNumber:AppModule.kt$AppModule$25 - MagicNumber:AppThemePreferenceWidget.kt$0.3f - MagicNumber:AppThemePreferenceWidget.kt$0.5f - MagicNumber:AppThemePreferenceWidget.kt$0.6f - MagicNumber:AppThemePreferenceWidget.kt$0.7f - MagicNumber:AppThemePreferenceWidget.kt$0.8f - MagicNumber:AppThemePreferenceWidget.kt$16f - MagicNumber:AppThemePreferenceWidget.kt$9f - MagicNumber:AppUpdateDownloadJob.kt$AppUpdateDownloadJob.<no name provided>$100 - MagicNumber:AppUpdateDownloadJob.kt$AppUpdateDownloadJob.<no name provided>$200 - MagicNumber:AppUpdateNotifier.kt$AppUpdateNotifier$100 - MagicNumber:AutoCompleteItem.kt$100 - MagicNumber:Backup.kt$Backup$100 - MagicNumber:Backup.kt$Backup$101 - MagicNumber:Backup.kt$Backup$104 - MagicNumber:Backup.kt$Backup$105 - MagicNumber:Backup.kt$Backup$600 - MagicNumber:BackupCategory.kt$BackupCategory$100 - MagicNumber:BackupCreateJob.kt$BackupCreateJob.Companion$10 - MagicNumber:BackupDecoder.kt$BackupDecoder$0x1f8b - MagicNumber:BackupFlatMetadata.kt$BackupFlatMetadata$3 - MagicNumber:BackupHistory.kt$BackupHistory$3 - MagicNumber:BackupMergedMangaReference.kt$BackupMergedMangaReference$3 - MagicNumber:BackupMergedMangaReference.kt$BackupMergedMangaReference$4 - MagicNumber:BackupMergedMangaReference.kt$BackupMergedMangaReference$5 - MagicNumber:BackupMergedMangaReference.kt$BackupMergedMangaReference$6 - MagicNumber:BackupMergedMangaReference.kt$BackupMergedMangaReference$7 - MagicNumber:BackupMergedMangaReference.kt$BackupMergedMangaReference$8 - MagicNumber:BackupPreferences.kt$BackupPreferences$12 - MagicNumber:BackupSavedSearch.kt$BackupSavedSearch$3 - MagicNumber:BackupSavedSearch.kt$BackupSavedSearch$4 - MagicNumber:BackupSearchMetadata.kt$BackupSearchMetadata$3 - MagicNumber:BackupSearchMetadata.kt$BackupSearchMetadata$4 - MagicNumber:BackupSearchTag.kt$BackupSearchTag$3 - MagicNumber:BackupTracking.kt$BackupTracking$10 - MagicNumber:BackupTracking.kt$BackupTracking$100 - MagicNumber:BackupTracking.kt$BackupTracking$11 - MagicNumber:BackupTracking.kt$BackupTracking$3 - MagicNumber:BackupTracking.kt$BackupTracking$4 - MagicNumber:BackupTracking.kt$BackupTracking$5 - MagicNumber:BackupTracking.kt$BackupTracking$6 - MagicNumber:BackupTracking.kt$BackupTracking$7 - MagicNumber:BackupTracking.kt$BackupTracking$8 - MagicNumber:BackupTracking.kt$BackupTracking$9 - MagicNumber:Bangumi.kt$Bangumi$145 - MagicNumber:Bangumi.kt$Bangumi$153 - MagicNumber:Bangumi.kt$Bangumi$240 - MagicNumber:BangumiInterceptor.kt$BangumiInterceptor$1000 - MagicNumber:BangumiModels.kt$1000 - MagicNumber:BangumiModels.kt$3600 - MagicNumber:BangumiModels.kt$OAuth$1000 - MagicNumber:BasePreferenceWidget.kt$200 - MagicNumber:BatchAddScreen.kt$BatchAddScreen$0.15f - MagicNumber:BrowseIcons.kt$0x1F888888 - MagicNumber:BrowseSourceEHentaiList.kt$0.5F - MagicNumber:BrowseSourceEHentaiList.kt$0xE1E2ECFF - MagicNumber:BrowseSourceEHentaiList.kt$0xFF005ED7 - MagicNumber:BrowseSourceEHentaiList.kt$5 - MagicNumber:CbzCrypto.kt$CbzCrypto$100 - MagicNumber:CbzCrypto.kt$CbzCrypto$128 - MagicNumber:CbzCrypto.kt$CbzCrypto$42 - MagicNumber:ChapterCache.kt$ChapterCache$1024 - MagicNumber:ChapterDownloadIndicator.kt$0.5f - MagicNumber:ChapterNavigator.kt$90f - MagicNumber:ChapterRecognition.kt$ChapterRecognition$10 - MagicNumber:ChapterRecognition.kt$ChapterRecognition$10.0 - MagicNumber:ChapterRecognition.kt$ChapterRecognition$2.0 - MagicNumber:ChapterRecognition.kt$ChapterRecognition$3 - MagicNumber:CircularProgressIndicator.kt$2000 - MagicNumber:ColorFilterPage.kt$16 - MagicNumber:ColorFilterPage.kt$24 - MagicNumber:ColorFilterPage.kt$8 - MagicNumber:CommonMangaItem.kt$0.33f - MagicNumber:CommonMangaItem.kt$0xAA000000 - MagicNumber:ContextExtensions.kt$3 - MagicNumber:ContextExtensions.kt$50 - MagicNumber:DateExtensions.kt$7 - MagicNumber:DelayedTrackingUpdateJob.kt$DelayedTrackingUpdateJob$3 - MagicNumber:DelayedTrackingUpdateJob.kt$DelayedTrackingUpdateJob.Companion$5 - MagicNumber:DeviceUtil.kt$DeviceUtil$1024 - MagicNumber:DeviceUtil.kt$DeviceUtil$3L - MagicNumber:DeviceUtil.kt$DeviceUtil$90000 - MagicNumber:DiskUtil.kt$DiskUtil$240 - MagicNumber:DomainSourceHelpers.kt$6900 - MagicNumber:DomainSourceHelpers.kt$6999 - MagicNumber:Download.kt$Download.State.DOWNLOADED$3 - MagicNumber:Download.kt$Download.State.ERROR$4 - MagicNumber:DownloadCache.kt$DownloadCache$1000 - MagicNumber:DownloadDropdownMenu.kt$10 - MagicNumber:DownloadDropdownMenu.kt$25 - MagicNumber:DownloadDropdownMenu.kt$5 - MagicNumber:DownloadHolder.kt$DownloadHolder$100 - MagicNumber:DownloadNotifier.kt$DownloadNotifier$15 - MagicNumber:DownloadNotifier.kt$DownloadNotifier$30 - MagicNumber:DownloadProvider.kt$DownloadProvider$4 - MagicNumber:DownloadQueueScreen.kt$DownloadQueueScreen$0.08f - MagicNumber:DownloadQueueScreen.kt$DownloadQueueScreen$0.12f - MagicNumber:DownloadQueueScreenModel.kt$DownloadQueueScreenModel$50 - MagicNumber:Downloader.kt$Downloader$100 - MagicNumber:Downloader.kt$Downloader$1000 - MagicNumber:Downloader.kt$Downloader$3 - MagicNumber:Downloader.kt$Downloader$5 - MagicNumber:DropdownMenu.kt$56 - MagicNumber:EHConfigurator.kt$EHConfigurator$3 - MagicNumber:EHDebugModeOverlay.kt$0x7F000000 - MagicNumber:EHDebugModeOverlay.kt$FpsState$1000f - MagicNumber:EHentai.kt$EHentai$0.5 - MagicNumber:EHentai.kt$EHentai$14 - MagicNumber:EHentai.kt$EHentai$16 - MagicNumber:EHentai.kt$EHentai$17 - MagicNumber:EHentai.kt$EHentai$200 - MagicNumber:EHentai.kt$EHentai$2007 - MagicNumber:EHentai.kt$EHentai$2099 - MagicNumber:EHentai.kt$EHentai$21 - MagicNumber:EHentai.kt$EHentai$3 - MagicNumber:EHentai.kt$EHentai$4 - MagicNumber:EHentai.kt$EHentai$404 - MagicNumber:EHentai.kt$EHentai$5 - MagicNumber:EHentai.kt$EHentai$8 - MagicNumber:EHentai.kt$EHentai$9 - MagicNumber:EHentai.kt$EHentai.GenreGroup$128 - MagicNumber:EHentai.kt$EHentai.GenreGroup$16 - MagicNumber:EHentai.kt$EHentai.GenreGroup$256 - MagicNumber:EHentai.kt$EHentai.GenreGroup$32 - MagicNumber:EHentai.kt$EHentai.GenreGroup$4 - MagicNumber:EHentai.kt$EHentai.GenreGroup$512 - MagicNumber:EHentai.kt$EHentai.GenreGroup$64 - MagicNumber:EHentai.kt$EHentai.GenreGroup$8 - MagicNumber:EHentai.kt$EHentai.ThumbnailPreviewInterceptor$100 - MagicNumber:EHentai.kt$EHentai.ToplistOption.ALL_TIME$11 - MagicNumber:EHentai.kt$EHentai.ToplistOption.PAST_MONTH$13 - MagicNumber:EHentai.kt$EHentai.ToplistOption.PAST_YEAR$12 - MagicNumber:EHentai.kt$EHentai.ToplistOption.YESTERDAY$15 - MagicNumber:EHentaiUpdateWorker.kt$EHentaiUpdateWorker.Companion$10 - MagicNumber:EXHMigrations.kt$EXHMigrations$0b00100000L - MagicNumber:EXHMigrations.kt$EXHMigrations$0b00111100L - MagicNumber:EXHMigrations.kt$EXHMigrations$10 - MagicNumber:EXHMigrations.kt$EXHMigrations$12 - MagicNumber:EXHMigrations.kt$EXHMigrations$14 - MagicNumber:EXHMigrations.kt$EXHMigrations$16 - MagicNumber:EXHMigrations.kt$EXHMigrations$17 - MagicNumber:EXHMigrations.kt$EXHMigrations$18 - MagicNumber:EXHMigrations.kt$EXHMigrations$20 - MagicNumber:EXHMigrations.kt$EXHMigrations$22 - MagicNumber:EXHMigrations.kt$EXHMigrations$23 - MagicNumber:EXHMigrations.kt$EXHMigrations$24 - MagicNumber:EXHMigrations.kt$EXHMigrations$27 - MagicNumber:EXHMigrations.kt$EXHMigrations$28 - MagicNumber:EXHMigrations.kt$EXHMigrations$29 - MagicNumber:EXHMigrations.kt$EXHMigrations$3 - MagicNumber:EXHMigrations.kt$EXHMigrations$31 - MagicNumber:EXHMigrations.kt$EXHMigrations$32 - MagicNumber:EXHMigrations.kt$EXHMigrations$38 - MagicNumber:EXHMigrations.kt$EXHMigrations$39 - MagicNumber:EXHMigrations.kt$EXHMigrations$4 - MagicNumber:EXHMigrations.kt$EXHMigrations$40 - MagicNumber:EXHMigrations.kt$EXHMigrations$41 - MagicNumber:EXHMigrations.kt$EXHMigrations$42 - MagicNumber:EXHMigrations.kt$EXHMigrations$43 - MagicNumber:EXHMigrations.kt$EXHMigrations$44 - MagicNumber:EXHMigrations.kt$EXHMigrations$45 - MagicNumber:EXHMigrations.kt$EXHMigrations$5 - MagicNumber:EXHMigrations.kt$EXHMigrations$52 - MagicNumber:EXHMigrations.kt$EXHMigrations$56 - MagicNumber:EXHMigrations.kt$EXHMigrations$57 - MagicNumber:EXHMigrations.kt$EXHMigrations$58 - MagicNumber:EXHMigrations.kt$EXHMigrations$59 - MagicNumber:EXHMigrations.kt$EXHMigrations$6 - MagicNumber:EXHMigrations.kt$EXHMigrations$60 - MagicNumber:EXHMigrations.kt$EXHMigrations$66 - MagicNumber:EXHMigrations.kt$EXHMigrations$6907 - MagicNumber:EXHMigrations.kt$EXHMigrations$6907L - MagicNumber:EXHMigrations.kt$EXHMigrations$6909L - MagicNumber:EXHMigrations.kt$EXHMigrations$6912 - MagicNumber:EXHMigrations.kt$EXHMigrations$6912L - MagicNumber:EXHMigrations.kt$EXHMigrations$7 - MagicNumber:EXHMigrations.kt$EXHMigrations$8 - MagicNumber:EXHMigrations.kt$EXHMigrations$9 - MagicNumber:EditMangaDialog.kt$20 - MagicNumber:EditMangaDialog.kt$3 - MagicNumber:EditMangaDialog.kt$4 - MagicNumber:EditMangaDialog.kt$40 - MagicNumber:EditMangaDialog.kt$46 - MagicNumber:EditMangaDialog.kt$5 - MagicNumber:EditMangaDialog.kt$6 - MagicNumber:EditMangaDialog.kt$61 - MagicNumber:EditMangaDialog.kt$62 - MagicNumber:EditMangaDialog.kt$63 - MagicNumber:EditMergedMangaHolder.kt$EditMergedMangaHolder$0.5F - MagicNumber:EditMergedSettingsHeaderAdapter.kt$EditMergedSettingsHeaderAdapter.HeaderViewHolder$0.5F - MagicNumber:EditMergedSettingsHeaderAdapter.kt$EditMergedSettingsHeaderAdapter.HeaderViewHolder$3 - MagicNumber:EhLoginWebViewScreen.kt$0.5F - MagicNumber:EhLoginWebViewScreen.kt$0.8F - MagicNumber:EhLoginWebViewScreen.kt$0xb5000000 - MagicNumber:EhUConfigBuilder.kt$Entry.Categories$3 - MagicNumber:EhUConfigBuilder.kt$Entry.Categories$4 - MagicNumber:EhUConfigBuilder.kt$Entry.Categories$5 - MagicNumber:EhUConfigBuilder.kt$Entry.Categories$6 - MagicNumber:EhUConfigBuilder.kt$Entry.Categories$7 - MagicNumber:EhUConfigBuilder.kt$Entry.Categories$8 - MagicNumber:EhUConfigBuilder.kt$Entry.Categories$9 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$10 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$11 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$12 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$13 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$14 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$15 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$16 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$3 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$4 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$5 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$6 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$7 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$8 - MagicNumber:EhUConfigBuilder.kt$Entry.LanguageSystem$9 - MagicNumber:ExhUtils.kt$0.5f - MagicNumber:ExhUtils.kt$0.75f - MagicNumber:ExhUtils.kt$0.9f - MagicNumber:ExhUtils.kt$3f - MagicNumber:ExtensionDetailsScreen.kt$1.5f - MagicNumber:ExtensionInstallService.kt$ExtensionInstallService$100 - MagicNumber:FavoritesSyncHelper.kt$FavoritesSyncHelper$10 - MagicNumber:FeedScreenModel.kt$FeedScreenModel$10 - MagicNumber:FetchInterval.kt$FetchInterval$10 - MagicNumber:FetchInterval.kt$FetchInterval$1000 - MagicNumber:FetchInterval.kt$FetchInterval$3 - MagicNumber:FetchInterval.kt$FetchInterval$7 - MagicNumber:FetchInterval.kt$FetchInterval$8 - MagicNumber:FollowStatus.kt$FollowStatus.DROPPED$5L - MagicNumber:FollowStatus.kt$FollowStatus.ON_HOLD$3L - MagicNumber:FollowStatus.kt$FollowStatus.PLAN_TO_READ$4L - MagicNumber:FollowStatus.kt$FollowStatus.RE_READING$6L - MagicNumber:GetApplicationRelease.kt$GetApplicationRelease$3 - MagicNumber:GlanceUtils.kt$10 - MagicNumber:GlanceUtils.kt$64 - MagicNumber:GlanceUtils.kt$95 - MagicNumber:GlobalSearchItem.kt$99f - MagicNumber:GoogleDriveSyncService.kt$GoogleDriveSyncService$10 - MagicNumber:GoogleDriveSyncService.kt$GoogleDriveSyncService$1000L - MagicNumber:GoogleDriveSyncService.kt$GoogleDriveSyncService$16000L - MagicNumber:GoogleDriveSyncService.kt$GoogleDriveSyncService$3 - MagicNumber:Hash.kt$Hash$15 - MagicNumber:Hash.kt$Hash$240 - MagicNumber:Hash.kt$Hash$4 - MagicNumber:HttpSource.kt$HttpSource$0xff - MagicNumber:HttpSource.kt$HttpSource$7 - MagicNumber:HttpSource.kt$HttpSource$8 - MagicNumber:ImageUtil.kt$ImageUtil$0.01 - MagicNumber:ImageUtil.kt$ImageUtil$0.0275 - MagicNumber:ImageUtil.kt$ImageUtil$100 - MagicNumber:ImageUtil.kt$ImageUtil$14 - MagicNumber:ImageUtil.kt$ImageUtil$16384 - MagicNumber:ImageUtil.kt$ImageUtil$18 - MagicNumber:ImageUtil.kt$ImageUtil$200 - MagicNumber:ImageUtil.kt$ImageUtil$22 - MagicNumber:ImageUtil.kt$ImageUtil$25 - MagicNumber:ImageUtil.kt$ImageUtil$3 - MagicNumber:ImageUtil.kt$ImageUtil$30 - MagicNumber:ImageUtil.kt$ImageUtil$32 - MagicNumber:ImageUtil.kt$ImageUtil$40 - MagicNumber:ImageUtil.kt$ImageUtil$5 - MagicNumber:ImageUtil.kt$ImageUtil$50 - MagicNumber:ImageUtil.kt$ImageUtil$6 - MagicNumber:ImageUtil.kt$ImageUtil$740 - MagicNumber:ImageUtil.kt$ImageUtil$9 - MagicNumber:ImageUtil.kt$ImageUtil$96 - MagicNumber:ImageUtil.kt$ImageUtil$98 - MagicNumber:ImageUtil.kt$ImageUtil$99 - MagicNumber:IsTrackUnfollowed.kt$IsTrackUnfollowed$60L - MagicNumber:Kavita.kt$Kavita$0xff - MagicNumber:Kavita.kt$Kavita$148 - MagicNumber:Kavita.kt$Kavita$198 - MagicNumber:Kavita.kt$Kavita$3 - MagicNumber:Kavita.kt$Kavita$7 - MagicNumber:Kavita.kt$Kavita$74 - MagicNumber:Kavita.kt$Kavita$8 - MagicNumber:KavitaApi.kt$KavitaApi$200 - MagicNumber:KavitaApi.kt$KavitaApi$204 - MagicNumber:KavitaApi.kt$KavitaApi$401 - MagicNumber:KavitaApi.kt$KavitaApi$500 - MagicNumber:KavitaModels.kt$OAuth$3 - MagicNumber:Kitsu.kt$Kitsu$20 - MagicNumber:Kitsu.kt$Kitsu$37 - MagicNumber:Kitsu.kt$Kitsu$50 - MagicNumber:Kitsu.kt$Kitsu$51 - MagicNumber:KitsuModels.kt$1000 - MagicNumber:KitsuModels.kt$3600 - MagicNumber:Komga.kt$Komga$37 - MagicNumber:Komga.kt$Komga$50 - MagicNumber:Komga.kt$Komga$51 - MagicNumber:LewdMangaChecker.kt$6905L - MagicNumber:LewdMangaChecker.kt$6913L - MagicNumber:LibraryScreenModel.kt$LibraryScreenModel$10 - MagicNumber:LibraryScreenModel.kt$LibraryScreenModel$25 - MagicNumber:LibraryScreenModel.kt$LibraryScreenModel$5 - MagicNumber:LibrarySettingsDialog.kt$3 - MagicNumber:LibrarySortMode.kt$LibrarySort.Direction.Ascending$0b01000000 - MagicNumber:LibrarySortMode.kt$LibrarySort.Type.ChapterFetchDate$0b00011000 - MagicNumber:LibrarySortMode.kt$LibrarySort.Type.DateAdded$0b00011100 - MagicNumber:LibrarySortMode.kt$LibrarySort.Type.LastRead$0b00000100 - MagicNumber:LibrarySortMode.kt$LibrarySort.Type.LastUpdate$0b00001000 - MagicNumber:LibrarySortMode.kt$LibrarySort.Type.LatestChapter$0b00010100 - MagicNumber:LibrarySortMode.kt$LibrarySort.Type.TagList$0b00100100 - MagicNumber:LibrarySortMode.kt$LibrarySort.Type.TotalChapters$0b00010000 - MagicNumber:LibrarySortMode.kt$LibrarySort.Type.TrackerMean$0b000100000 - MagicNumber:LibrarySortMode.kt$LibrarySort.Type.UnreadCount$0b00001100 - MagicNumber:LibraryToolbar.kt$0.08f - MagicNumber:LibraryToolbar.kt$0.12f - MagicNumber:LibraryUpdateJob.kt$LibraryUpdateJob$5 - MagicNumber:LibraryUpdateJob.kt$LibraryUpdateJob.Companion$10 - MagicNumber:LibraryUpdateNotifier.kt$LibraryUpdateNotifier$40 - MagicNumber:MangaBottomActionMenu.kt$3 - MagicNumber:MangaBottomActionMenu.kt$4 - MagicNumber:MangaBottomActionMenu.kt$5 - MagicNumber:MangaBottomActionMenu.kt$6 - MagicNumber:MangaBottomActionMenu.kt$7 - MagicNumber:MangaCover.kt$MangaCover.Book$3f - MagicNumber:MangaDexAuthInterceptor.kt$MangaDexAuthInterceptor$401 - MagicNumber:MangaDexDescriptionAdapter.kt$100.0 - MagicNumber:MangaInfoHeader.kt$0.2f - MagicNumber:MangaInfoHeader.kt$0.65f - MagicNumber:MangaPlusHandler.kt$MangaPlusHandler$16 - MagicNumber:MangaScreenModel.kt$MangaScreenModel$10 - MagicNumber:MangaScreenModel.kt$MangaScreenModel$103 - MagicNumber:MangaScreenModel.kt$MangaScreenModel$25 - MagicNumber:MangaScreenModel.kt$MangaScreenModel$5 - MagicNumber:MangaUpdates.kt$MangaUpdates$146 - MagicNumber:MangaUpdates.kt$MangaUpdates$160 - MagicNumber:MangaUpdates.kt$MangaUpdates$173 - MagicNumber:MangaUpdatesApi.kt$MangaUpdatesApi$200 - MagicNumber:MdList.kt$MdList$3L - MagicNumber:MdList.kt$MdList$43 - MagicNumber:MdList.kt$MdList$48 - MagicNumber:MdList.kt$MdList$4L - MagicNumber:MdList.kt$MdList$53 - MagicNumber:MdList.kt$MdList$5L - MagicNumber:MdList.kt$MdList$6L - MagicNumber:MemAutoFlushingLookupTable.kt$MemAutoFlushingLookupTable$4 - MagicNumber:MemAutoFlushingLookupTable.kt$MemAutoFlushingLookupTable$8 - MagicNumber:MergedSource.kt$MergedSource$5 - MagicNumber:MetadataUIUtil.kt$MetadataUIUtil$10 - MagicNumber:MetadataUIUtil.kt$MetadataUIUtil$3 - MagicNumber:MetadataUIUtil.kt$MetadataUIUtil$4 - MagicNumber:MetadataUIUtil.kt$MetadataUIUtil$5 - MagicNumber:MetadataUIUtil.kt$MetadataUIUtil$6 - MagicNumber:MetadataUIUtil.kt$MetadataUIUtil$7 - MagicNumber:MetadataUIUtil.kt$MetadataUIUtil$8 - MagicNumber:MetadataUIUtil.kt$MetadataUIUtil$9 - MagicNumber:MetadataUpdateJob.kt$MetadataUpdateJob$5 - MagicNumber:MetadataUtil.kt$MetadataUtil$1000 - MagicNumber:MetadataUtil.kt$MetadataUtil$1024 - MagicNumber:MigrationActionIcon.kt$56 - MagicNumber:MigrationItem.kt$0.33f - MagicNumber:MigrationItem.kt$0xAA000000 - MagicNumber:MigrationListScreen.kt$0.2f - MagicNumber:MigrationListScreenModel.kt$MigrationListScreenModel$3 - MagicNumber:Migrations.kt$Migrations$105 - MagicNumber:Migrations.kt$Migrations$106 - MagicNumber:Migrations.kt$Migrations$113 - MagicNumber:Migrations.kt$Migrations$114 - MagicNumber:Migrations.kt$Migrations$116 - MagicNumber:Migrations.kt$Migrations$117 - MagicNumber:Migrations.kt$Migrations$12 - MagicNumber:Migrations.kt$Migrations$15 - MagicNumber:Migrations.kt$Migrations$19 - MagicNumber:Migrations.kt$Migrations$26 - MagicNumber:Migrations.kt$Migrations$3 - MagicNumber:Migrations.kt$Migrations$4 - MagicNumber:Migrations.kt$Migrations$44 - MagicNumber:Migrations.kt$Migrations$5 - MagicNumber:Migrations.kt$Migrations$52 - MagicNumber:Migrations.kt$Migrations$54 - MagicNumber:Migrations.kt$Migrations$57 - MagicNumber:Migrations.kt$Migrations$59 - MagicNumber:Migrations.kt$Migrations$6 - MagicNumber:Migrations.kt$Migrations$60 - MagicNumber:Migrations.kt$Migrations$61 - MagicNumber:Migrations.kt$Migrations$64 - MagicNumber:Migrations.kt$Migrations$7 - MagicNumber:Migrations.kt$Migrations$70 - MagicNumber:Migrations.kt$Migrations$71 - MagicNumber:Migrations.kt$Migrations$72 - MagicNumber:Migrations.kt$Migrations$75 - MagicNumber:Migrations.kt$Migrations$77 - MagicNumber:Migrations.kt$Migrations$8 - MagicNumber:Migrations.kt$Migrations$81 - MagicNumber:Migrations.kt$Migrations$82 - MagicNumber:Migrations.kt$Migrations$84 - MagicNumber:Migrations.kt$Migrations$85 - MagicNumber:Migrations.kt$Migrations$86 - MagicNumber:Migrations.kt$Migrations$92 - MagicNumber:Migrations.kt$Migrations$96 - MagicNumber:Migrations.kt$Migrations$97 - MagicNumber:Migrations.kt$Migrations$99 - MagicNumber:Modifier.kt$0.16f - MagicNumber:Modifier.kt$0.22f - MagicNumber:MonetColorScheme.kt$MonetColorScheme.Companion$128 - MagicNumber:MyAnimeList.kt$MyAnimeList$162 - MagicNumber:MyAnimeList.kt$MyAnimeList$46 - MagicNumber:MyAnimeList.kt$MyAnimeList$81 - MagicNumber:MyAnimeListApi.kt$MyAnimeListApi$64 - MagicNumber:MyAnimeListInterceptor.kt$MyAnimeListInterceptor$401 - MagicNumber:NetworkHelper.kt$NetworkHelper$30 - MagicNumber:Page.kt$Page$100 - MagicNumber:PageIndicatorText.kt$235 - MagicNumber:PageIndicatorText.kt$45 - MagicNumber:PagePreviewCache.kt$PagePreviewCache$1024 - MagicNumber:PagePreviewSource.kt$PagePreviewInfo$100 - MagicNumber:PagerConfig.kt$PagerConfig$0x202125 - MagicNumber:PagerConfig.kt$PagerConfig$3 - MagicNumber:PagerConfig.kt$PagerConfig$4 - MagicNumber:PagerConfig.kt$PagerConfig$5 - MagicNumber:PagerPageHolder.kt$PagerPageHolder$100 - MagicNumber:PagerPageHolder.kt$PagerPageHolder$16 - MagicNumber:PagerPageHolder.kt$PagerPageHolder$48 - MagicNumber:PagerPageHolder.kt$PagerPageHolder$90f - MagicNumber:PagerPageHolder.kt$PagerPageHolder$95 - MagicNumber:PagerPageHolder.kt$PagerPageHolder$96 - MagicNumber:PagerPageHolder.kt$PagerPageHolder$97 - MagicNumber:PagerViewer.kt$PagerViewer$5 - MagicNumber:PagerViewerAdapter.kt$PagerViewerAdapter$100 - MagicNumber:PkceUtil.kt$PkceUtil$50 - MagicNumber:PullRefresh.kt$PullToRefreshStateImpl$4 - MagicNumber:PururinDescriptionAdapter.kt$100.0 - MagicNumber:ReaderActivity.kt$ReaderActivity$100 - MagicNumber:ReaderActivity.kt$ReaderActivity$230 - MagicNumber:ReaderActivity.kt$ReaderActivity$242 - MagicNumber:ReaderActivity.kt$ReaderActivity.ReaderConfig$0.01f - MagicNumber:ReaderActivity.kt$ReaderActivity.ReaderConfig$100 - MagicNumber:ReaderActivity.kt$ReaderActivity.ReaderConfig$100f - MagicNumber:ReaderActivity.kt$ReaderActivity.ReaderConfig$255f - MagicNumber:ReaderActivity.kt$ReaderActivity.ReaderConfig$3 - MagicNumber:ReaderContentOverlay.kt$100f - MagicNumber:ReaderOrientation.kt$ReaderOrientation.FREE$0x00000008 - MagicNumber:ReaderOrientation.kt$ReaderOrientation.LANDSCAPE$0x00000018 - MagicNumber:ReaderOrientation.kt$ReaderOrientation.LOCKED_LANDSCAPE$0x00000028 - MagicNumber:ReaderOrientation.kt$ReaderOrientation.LOCKED_PORTRAIT$0x00000020 - MagicNumber:ReaderOrientation.kt$ReaderOrientation.PORTRAIT$0x00000010 - MagicNumber:ReaderOrientation.kt$ReaderOrientation.REVERSE_PORTRAIT$0x00000030 - MagicNumber:ReaderPageImageView.kt$ReaderPageImageView$180 - MagicNumber:ReaderPageImageView.kt$ReaderPageImageView$250 - MagicNumber:ReaderPageImageView.kt$ReaderPageImageView$500 - MagicNumber:ReaderPreferences.kt$ReaderPreferences$10 - MagicNumber:ReaderPreferences.kt$ReaderPreferences$3f - MagicNumber:ReaderPreferences.kt$ReaderPreferences$500 - MagicNumber:ReaderPreferences.kt$ReaderPreferences.ReaderHideThreshold.HIGH$13 - MagicNumber:ReaderPreferences.kt$ReaderPreferences.ReaderHideThreshold.HIGHEST$5 - MagicNumber:ReaderPreferences.kt$ReaderPreferences.ReaderHideThreshold.LOW$31 - MagicNumber:ReaderPreferences.kt$ReaderPreferences.ReaderHideThreshold.LOWEST$47 - MagicNumber:ReaderProgressIndicator.kt$ReaderProgressIndicator$100f - MagicNumber:ReaderSettingsDialog.kt$0.5f - MagicNumber:ReaderViewModel.kt$ReaderViewModel$0.25 - MagicNumber:ReaderViewModel.kt$ReaderViewModel$9999 - MagicNumber:ReadingMode.kt$ReadingMode.CONTINUOUS_VERTICAL$0x00000005 - MagicNumber:ReadingMode.kt$ReadingMode.VERTICAL$0x00000003 - MagicNumber:ReadingMode.kt$ReadingMode.WEBTOON$0x00000004 - MagicNumber:ReadingModePage.kt$100f - MagicNumber:ReadingModePage.kt$5 - MagicNumber:SaveImageNotifier.kt$SaveImageNotifier$1280 - MagicNumber:SaveImageNotifier.kt$SaveImageNotifier$720 - MagicNumber:Scaffold.kt$3 - MagicNumber:Scaffold.kt$4 - MagicNumber:Scaffold.kt$5 - MagicNumber:Scaffold.kt$6 - MagicNumber:Scaffold.kt$7 - MagicNumber:Scaffold.kt$8 - MagicNumber:Scaffold.kt$9 - MagicNumber:Scrollbar.kt$100 - MagicNumber:Scrollbar.kt$50 - MagicNumber:SecureActivityDelegate.kt$SecureActivityDelegate.Companion$60_000 - MagicNumber:SecurityPreferences.kt$SecurityPreferences$0x7F - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$10080 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$12 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$1440 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$168 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$180 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$24 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$2880 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$30 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$360 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$48 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$6 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$60 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$720 - MagicNumber:SettingsDownloadScreen.kt$SettingsDownloadScreen$10 - MagicNumber:SettingsDownloadScreen.kt$SettingsDownloadScreen$3 - MagicNumber:SettingsDownloadScreen.kt$SettingsDownloadScreen$4 - MagicNumber:SettingsDownloadScreen.kt$SettingsDownloadScreen$5 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen$12 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen$24 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen$3 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen$30 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen$365 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen$48 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen$6 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen$7 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$10 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$11 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$12 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$13 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$14 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$15 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$16 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$3 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$4 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$5 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$6 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$7 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$8 - MagicNumber:SettingsEhScreen.kt$SettingsEhScreen.LanguageDialogState$9 - MagicNumber:SettingsItems.kt$0.5f - MagicNumber:SettingsItems.kt$1.5f - MagicNumber:SettingsLibraryScreen.kt$SettingsLibraryScreen$12 - MagicNumber:SettingsLibraryScreen.kt$SettingsLibraryScreen$168 - MagicNumber:SettingsLibraryScreen.kt$SettingsLibraryScreen$24 - MagicNumber:SettingsLibraryScreen.kt$SettingsLibraryScreen$48 - MagicNumber:SettingsLibraryScreen.kt$SettingsLibraryScreen$72 - MagicNumber:SettingsMainScreen.kt$SettingsMainScreen$0.02f - MagicNumber:SettingsMainScreen.kt$SettingsMainScreen$0.05f - MagicNumber:SettingsMainScreen.kt$SettingsMainScreen$3 - MagicNumber:SettingsMangadexScreen.kt$SettingsMangadexScreen$5 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$10 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$100f - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$12 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$14 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$16 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$20 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$250 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$3 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$4 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$5 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$500 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$6 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$8 - MagicNumber:SettingsSearchScreen.kt$10 - MagicNumber:Shikimori.kt$Shikimori$40 - MagicNumber:ShikimoriModels.kt$1000 - MagicNumber:ShikimoriModels.kt$3600 - MagicNumber:SmartSearchEngine.kt$SmartSearchEngine$5 - MagicNumber:SourceFeedScreenModel.kt$SourceFeedScreenModel$10 - MagicNumber:SourcePreferences.kt$SourcePreferences$80 - MagicNumber:Surface.kt$100f - MagicNumber:Surface.kt$4.5f - MagicNumber:Suwayomi.kt$Suwayomi$255 - MagicNumber:Suwayomi.kt$Suwayomi$35 - MagicNumber:SyncDataJob.kt$SyncDataJob.Companion$10 - MagicNumber:SyncManager.kt$SyncManager$1000 - MagicNumber:SyncManager.kt$SyncManager$60000 - MagicNumber:SyncYomiSyncService.kt$SyncYomiSyncService$2000L - MagicNumber:SyncYomiSyncService.kt$SyncYomiSyncService$30L - MagicNumber:SyncYomiSyncService.kt$SyncYomiSyncService$32000L - MagicNumber:Tabs.kt$0.08f - MagicNumber:Tabs.kt$0.12f - MagicNumber:TimeUtils.kt$4 - MagicNumber:TrackInfoDialog.kt$TrackChapterSelectorScreen.Model$10000 - MagicNumber:TrackInfoDialogSelector.kt$3L - MagicNumber:TrackInfoDialogSelector.kt$4L - MagicNumber:TrackInfoDialogSelector.kt$5L - MagicNumber:TrackInfoDialogSelector.kt$6L - MagicNumber:TrackStatus.kt$TrackStatus.COMPLETED$5 - MagicNumber:TrackStatus.kt$TrackStatus.DROPPED$6 - MagicNumber:TrackStatus.kt$TrackStatus.OTHER$7 - MagicNumber:TrackStatus.kt$TrackStatus.PAUSED$4 - MagicNumber:TrackStatus.kt$TrackStatus.PLAN_TO_READ$3 - MagicNumber:TrackerSearchPreviewProvider.kt$TrackerSearchPreviewProvider$10 - MagicNumber:TrackerSearchPreviewProvider.kt$TrackerSearchPreviewProvider$100 - MagicNumber:TrackerSearchPreviewProvider.kt$TrackerSearchPreviewProvider$1000L - MagicNumber:TrackerSearchPreviewProvider.kt$TrackerSearchPreviewProvider$100L - MagicNumber:TrackerSearchPreviewProvider.kt$TrackerSearchPreviewProvider$30 - MagicNumber:TrackerSearchPreviewProvider.kt$TrackerSearchPreviewProvider$365 - MagicNumber:TrackerSearchPreviewProvider.kt$TrackerSearchPreviewProvider$40 - MagicNumber:TrackingPreferenceWidget.kt$0xFF4CAF50 - MagicNumber:TsuminoDescriptionAdapter.kt$100.0 - MagicNumber:UiPreferences.kt$UiPreferences$4 - MagicNumber:UniFileTempFileManager.kt$UniFileTempFileManager$3 - MagicNumber:UniFileTempFileManager.kt$UniFileTempFileManager$8192 - MagicNumber:UpdatesScreenModel.kt$UpdatesScreenModel$3 - MagicNumber:VerticalFastScroller.kt$100 - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.LEFT$0x11 - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.LEFT$0x28 - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.LEFT$0x7D - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.LEFT$0xCC - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.MENU$0x81 - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.MENU$0x8D - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.MENU$0x95 - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.MENU$0xCC - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.NEXT$0x84 - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.NEXT$0x96 - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.NEXT$0xCC - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.NEXT$0xE2 - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.PREV$0x33 - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.PREV$0x77 - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.PREV$0xCC - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.PREV$0xFF - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.RIGHT$0xA6 - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.RIGHT$0xCC - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.RIGHT$0xCF - MagicNumber:ViewerNavigation.kt$ViewerNavigation.NavigationRegion.RIGHT$0xD5 - MagicNumber:WebViewInterceptor.kt$WebViewInterceptor$30 - MagicNumber:WebtoonConfig.kt$WebtoonConfig$3 - MagicNumber:WebtoonConfig.kt$WebtoonConfig$4 - MagicNumber:WebtoonConfig.kt$WebtoonConfig$5 - MagicNumber:WebtoonPageHolder.kt$WebtoonPageHolder$0.8 - MagicNumber:WebtoonPageHolder.kt$WebtoonPageHolder$100f - MagicNumber:WebtoonPageHolder.kt$WebtoonPageHolder$16 - MagicNumber:WebtoonPageHolder.kt$WebtoonPageHolder$90f - MagicNumber:WebtoonRecyclerView.kt$WebtoonRecyclerView$0.4f - MagicNumber:WebtoonRecyclerView.kt$WebtoonRecyclerView$400 - MagicNumber:WebtoonRecyclerView.kt$WebtoonRecyclerView.Detector$0.5f - MagicNumber:WebtoonViewer.kt$WebtoonViewer$3 - MagicNumber:WebtoonViewer.kt$WebtoonViewer$5 - MagicNumber:WheelPicker.kt$0.2f - MagicNumber:WheelPicker.kt$1.2f - MagicNumber:WorkManagerExtensions.kt$500 - MatchingDeclarationName:ChapterDownloadIndicator.kt$ChapterDownloadAction - MatchingDeclarationName:CommonMangaItem.kt$CommonMangaItemDefaults - MatchingDeclarationName:EditMergedSettingsDialog.kt$EditMergedSettingsState : EditMergedMangaItemListener - MatchingDeclarationName:EmptyScreen.kt$EmptyScreenAction - MatchingDeclarationName:FeedScreen.kt$FeedItemUI - MatchingDeclarationName:LibrarySortMode.kt$LibrarySort : FlagWithMask - MatchingDeclarationName:MyAnimeListModels.kt$OAuth - MatchingDeclarationName:NetworkStateTracker.kt$NetworkState - MatchingDeclarationName:SettingsItems.kt$SettingsItemsPaddings - MatchingDeclarationName:ShikimoriModels.kt$OAuth - MatchingDeclarationName:SourceFeedScreen.kt$SourceFeedUI - MatchingDeclarationName:SyncFavoritesProgressDialog.kt$SyncFavoritesProgressProperties - MatchingDeclarationName:TabbedDialog.kt$TabbedDialogPaddings - MatchingDeclarationName:__Assets.kt$AssetsGroup - MatchingDeclarationName:__EhAssets.kt$EhAssets - MatchingDeclarationName:__Ehassets.kt$EhassetsGroup - MatchingDeclarationName:__Exh.kt$ExhGroup - MaxLineLength:AnnotatedString.kt$Typeface.BOLD_ITALIC -> addStyle(SpanStyle(fontWeight = FontWeight.Bold, fontStyle = FontStyle.Italic), start, end) - MaxLineLength:ApiMangaParser.kt$ApiMangaParser$/*private fun isOneShot(chapter: ChapterSerializer, finalChapterNumber: String): Boolean { return chapter.title.equals("oneshot", true) || ((chapter.chapter.isNullOrEmpty() || chapter.chapter == "0") && MdUtil.validOneShotFinalChapters.contains(finalChapterNumber)) }*/ - MaxLineLength:ApiMangaParser.kt$ApiMangaParser$?. - MaxLineLength:AzukiHandler.kt$AzukiHandler$val url = element.jsonObject["image_wm"]!!.jsonObject["webp"]!!.jsonArray[1].jsonObject["url"]!!.jsonPrimitive.content - MaxLineLength:BackupTracking.kt$_: Long, _: Long, syncId: Long, mediaId: Long, libraryId: Long?, title: String, lastChapterRead: Double, totalChapters: Long, status: Long, score: Double, remoteUrl: String, startDate: Long, finishDate: Long - MaxLineLength:BangumiInterceptor.kt$BangumiInterceptor$"jobobby04/TachiyomiSY/v${BuildConfig.VERSION_NAME} (Android) (http://github.com/jobobby04/tachiyomisy)" - MaxLineLength:BatchAddScreen.kt$BatchAddScreen$Text(text = stringResource(SYMR.strings.eh_batch_add_adding_galleries), style = MaterialTheme.typography.titleLarge) - MaxLineLength:BatchAddScreen.kt$BatchAddScreen$Text(text = stringResource(SYMR.strings.eh_batch_add_title), style = MaterialTheme.typography.titleLarge) - MaxLineLength:BiometricTimesScreen.kt$BiometricTimesScreen$. - MaxLineLength:BiometricTimesScreen.kt$BiometricTimesScreen$text = stringResource(SYMR.strings.delete_time_range_confirmation, dialog.timeRange.formattedString) - MaxLineLength:ComikeyHandler.kt$ComikeyHandler$private val urlForbidden = "https://fakeimg.pl/1800x2252/FFFFFF/000000/?font_size=120&text=This%20chapter%20is%20not%20available%20for%20free.%0A%0AIf%20you%20have%20purchased%20this%20chapter%2C%20please%20%0Aopen%20the%20website%20in%20web%20view%20and%20log%20in." - MaxLineLength:CoroutinesExtensions.kt$* - MaxLineLength:DataSaver.kt$BandwidthHeroDataSaver$imageUrl.contains(".jpeg", true) || imageUrl.contains(".jpg", true) -> if (ignoreJpg) imageUrl else getUrl(imageUrl) - MaxLineLength:DataSaver.kt$WsrvNlDataSaver$imageUrl.contains(".jpeg", true) || imageUrl.contains(".jpg", true) -> if (ignoreJpg) imageUrl else getUrl(imageUrl) - MaxLineLength:DataSaver.kt$WsrvNlDataSaver$return - MaxLineLength:DebugToggles.kt$DebugToggles.ENABLE_EXH_ROOT_REDIRECT$// Redirect to master version of gallery when encountering a gallery that has a parent/child that is already in the library - MaxLineLength:DownloadPageLoader.kt$DownloadPageLoader$val chapterPath = downloadProvider.findChapterDir(dbChapter.name, dbChapter.scanlator, /* SY --> */ manga.ogTitle /* SY <-- */, source) - MaxLineLength:Downloader.kt$Downloader$. - MaxLineLength:Downloader.kt$Downloader$// using ImageUtils isImage and findImageType functions causes IO errors when deleting files to set Exif Metadata - MaxLineLength:EHConfigurator.kt$EHConfigurator$throw IllegalStateException(context.stringResource(SYMR.strings.eh_settings_out_of_slots_error, source.name)) - MaxLineLength:EHHathPerksResponse.kt$EHHathPerksResponse$"EHHathPerksResponse(moreThumbs=$moreThumbs, thumbsUp=$thumbsUp, allThumbs=$allThumbs, pagingEnlargementI=$pagingEnlargementI, pagingEnlargementII=$pagingEnlargementII, pagingEnlargementIII=$pagingEnlargementIII)" - MaxLineLength:EHentaiDescriptionAdapter.kt$binding.rating.text = (ratingFloat ?: 0F).toString() + " - " + MetadataUIUtil.getRatingString(context, ratingFloat?.times(2)) - MaxLineLength:EHentaiDescriptionAdapter.kt$binding.visible.text = context.stringResource(SYMR.strings.is_visible, meta.visible ?: context.stringResource(MR.strings.unknown)) - MaxLineLength:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$"No chapters found for gallery (manga.id: %s, meta.gId: %s, meta.gToken: %s, failures-so-far: %s)!" - MaxLineLength:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$"Updating gallery (index: %s, manga.id: %s, meta.gId: %s, meta.gToken: %s, failures-so-far: %s, modifiedThisIteration.size: %s)..." - MaxLineLength:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$?: - MaxLineLength:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$if - MaxLineLength:EditMergedMangaItem.kt$EditMergedMangaItem$class - MaxLineLength:EditMergedMangaItem.kt$EditMergedMangaItem$override - MaxLineLength:EditMergedSettingsDialog.kt$EditMergedSettingsState$val isPriorityOrder = mergeReference?.let { it.chapterSortMode == MergedMangaReference.CHAPTER_SORT_PRIORITY } ?: false - MaxLineLength:EditMergedSettingsDialog.kt$state.onViewCreated(factoryContext, binding, mergedData.manga.values.toList(), mergedData.references) - MaxLineLength:EditMergedSettingsHeaderAdapter.kt$EditMergedSettingsHeaderAdapter$class - MaxLineLength:EditMergedSettingsHeaderAdapter.kt$EditMergedSettingsHeaderAdapter$fun canMove() - MaxLineLength:EnhancedFilePrinter.kt$EnhancedFilePrinter$require(!(newFileName == null || newFileName.trim { it <= ' ' }.isEmpty())) { "File name should not be empty." } - MaxLineLength:ExtensionInstaller.kt$ExtensionInstaller$if - MaxLineLength:ExtensionManager.kt$ExtensionManager$if (it) this@ExtensionManager.xLogD("Removing blacklisted extension: (name: %s, pkgName: %s)!", extension.name, extension.pkgName) - MaxLineLength:ExtensionManager.kt$ExtensionManager$private - MaxLineLength:ExtensionsScreenModel.kt$ExtensionsScreenModel$ExtensionUiModel.Header.Text(LocaleHelper.getSourceDisplayName(lang, context)) to exts.map(extensionMapper(downloads)) - MaxLineLength:FavoritesSyncHelper.kt$FavoritesSyncHelper$SYMR.strings.favorites_sync_failed_to_add_to_local_unknown_type - MaxLineLength:FavoritesSyncHelper.kt$FavoritesSyncHelper$context.stringResource(SYMR.strings.favorites_sync_remove_from_local, index + 1, changeSet.removed.size) - MaxLineLength:FavoritesSyncHelper.kt$FavoritesSyncHelper$logger.w(context.stringResource(SYMR.strings.favorites_sync_gallery_multiple_categories_error, manga.id)) - MaxLineLength:FavoritesSyncHelper.kt$FavoritesSyncHelper$message = context.stringResource(SYMR.strings.favorites_sync_add_to_local, index + 1, changeSet.added.size) - MaxLineLength:FavoritesSyncHelper.kt$FavoritesSyncHelper$message = context.stringResource(SYMR.strings.favorites_sync_adding_to_remote, index + 1, changeSet.added.size) - MaxLineLength:FavoritesSyncHelper.kt$FavoritesSyncHelper$status.value = FavoritesSyncStatus.Error(context.stringResource(SYMR.strings.favorites_sync_failed_to_featch)) - MaxLineLength:FavoritesSyncHelper.kt$FavoritesSyncHelper$status.value = FavoritesSyncStatus.Processing(context.stringResource(SYMR.strings.favorites_sync_cleaning_up)) - MaxLineLength:FavoritesSyncHelper.kt$FavoritesSyncHelper$status.value = FavoritesSyncStatus.Processing(context.stringResource(SYMR.strings.favorites_sync_downloading)) - MaxLineLength:FavoritesSyncHelper.kt$FavoritesSyncHelper$status.value = FavoritesSyncStatus.Processing(context.stringResource(SYMR.strings.favorites_sync_verifying_library)) - MaxLineLength:FeedScreenModel.kt$FeedScreenModel$private suspend - MaxLineLength:GalleryAdder.kt$GalleryAddEvent.Fail.UnknownSource$override val logMessage = context.stringResource(SYMR.strings.batch_add_unknown_source_log_message, galleryUrl) - MaxLineLength:GalleryAdder.kt$GalleryAddEvent.Fail.UnknownType$override val logMessage = context.stringResource(SYMR.strings.batch_add_unknown_type_log_message, galleryUrl) - MaxLineLength:GalleryAdder.kt$GalleryAdder$GalleryAddEvent.Fail.Error(url, context.stringResource(SYMR.strings.gallery_adder_could_not_identify_chapter, url)) - MaxLineLength:GalleryAdder.kt$GalleryAdder$logger.d(context.stringResource(SYMR.strings.gallery_adder_importing_gallery, url, fav.toString(), forceSource?.toString().orEmpty())) - MaxLineLength:GalleryAdder.kt$GalleryAdder$return GalleryAddEvent.Fail.Error(url, context.stringResource(SYMR.strings.gallery_adder_chapter_fetch_error, url)) - MaxLineLength:HBrowseDescriptionAdapter.kt$binding.pages.text = context.pluralStringResource(SYMR.plurals.num_pages, meta.length ?: 0, meta.length ?: 0) - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$!mangaTag.name.contains(searchedTag, true) || !mangaTag.namespace.equals(queryComponent.namespace, true) - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$(it.namespace.equals(queryComponent.namespace, true) && tag?.run { it.name.contains(tag.asQuery(), true) } == true) - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$(list.getOrNull(0)?.toIntOrNull() ?: return@mapNotNull null) to (list.getOrNull(1) ?: return@mapNotNull null) - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$(loggedInTrackServices.isEmpty() || tracks == null || !filterTracks(query, tracks, context)) - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$(loggedInTrackServices.isNotEmpty() && tracks != null && filterTracks(query, tracks, context)) - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$SManga.PUBLISHING_FINISHED.toLong() -> context.stringResource(MR.strings.publishing_finished) - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$searchTags == null || (queryComponent.namespace.isBlank() && searchedTag.isNullOrBlank()) - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$suspend - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$val - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$val manga1IndexOfTag = listOfTags.indexOfFirst { i1.libraryManga.manga.genre?.contains(it) ?: false } - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$val manga2IndexOfTag = listOfTags.indexOfFirst { i2.libraryManga.manga.genre?.contains(it) ?: false } - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$val mergedSource = sources.firstOrNull { mergedManga.source == it.id } as? HttpSource ?: return@merge - MaxLineLength:LibraryScreenModel.kt$LibraryScreenModel$val sources = mergedMangas.distinctBy { it.source }.map { sourceManager.getOrStub(it.source) } - MaxLineLength:LibraryTab.kt$LibraryTab$onClickRefresh(state.categories[screenModel.activeCategoryIndex.coerceAtMost(state.categories.lastIndex)]) - MaxLineLength:LibraryUpdateJob.kt$LibraryUpdateJob$if - MaxLineLength:LibraryUpdateJob.kt$LibraryUpdateJob$readChapters.any { it.chapterNumber == chapter.chapterNumber } - MaxLineLength:LibraryUpdateJob.kt$LibraryUpdateJob$val readChapters = getChaptersByMangaId.await(manga.id).filter { it.read } - MaxLineLength:LibraryUpdateNotifier.kt$LibraryUpdateNotifier.Companion$const val HELP_WARNING_URL = "https://mihon.app/docs/faq/library#why-am-i-warned-about-large-bulk-updates-and-downloads" - MaxLineLength:LocalFavoritesStorage.kt$LocalFavoritesStorage$(otherGid != null && otherToken != null && other.otherGid != null && other.otherToken != null && otherGid == other.otherGid && otherToken == other.otherToken) - MaxLineLength:LocalSource.kt$LocalSource$copiedFile.getZipInputStream(COMIC_INFO_FILE)?.let { setMangaDetailsFromComicInfoFile(it, manga) } - MaxLineLength:MainActivity.kt$MainActivity$// or the Google-specific search intent (triggered by saying or typing "search *query* on *Tachiyomi*" in Google Search/Google Assistant) - MaxLineLength:MangaChapterListItem.kt$if (readProgress != null || scanlator != null/* SY --> */ || sourceName != null/* SY <-- */) DotSeparatorText() - MaxLineLength:MangaDex.kt$MangaDex$override suspend - MaxLineLength:MangaDexDescriptionAdapter.kt$binding.rating.text = (round((ratingFloat ?: 0F) * 100.0) / 100.0).toString() + " - " + getRatingString(context, ratingFloat) - MaxLineLength:MangaDexFollowsScreenModel.kt$MangaDexFollowsScreenModel$override - MaxLineLength:MangaDexSimilarScreenModel.kt$MangaDexSimilarScreenModel$override - MaxLineLength:MangaScreen.kt$MangaScreen$onMergeWithAnotherClicked = { mergeWithAnother(navigator, context, successState.manga, screenModel::smartSearchMerge) } - MaxLineLength:MangaScreen.kt$MangaScreen$onRecommendClicked = { openRecommends(context, navigator, screenModel.source?.getMainSource(), successState.manga) } - MaxLineLength:MangaScreenModel.kt$MangaScreenModel$/* SY --> */ if (isMergedSource) it.manga.id in mergedIds else /* SY <-- */ it.manga.id == successState?.manga?.id - MaxLineLength:MangaScreenModel.kt$MangaScreenModel$alwaysShowReadingProgress = readerPreferences.preserveReadingPosition().get() && manga.isEhBasedManga() - MaxLineLength:MangaScreenModel.kt$MangaScreenModel$if - MaxLineLength:MangaScreenModel.kt$MangaScreenModel$if (chapters.isEmpty() || !manga.shouldDownloadNewChapters(categories, downloadPreferences) || manga.isEhBasedManga()) return@launchNonCancellable - MaxLineLength:MangaScreenModel.kt$MangaScreenModel$return TrackItem(getTracks.await(mangaId).first { it.trackerId == trackerManager.mdList.id }, trackerManager.mdList) - MaxLineLength:MangaScreenModel.kt$MangaScreenModel$val - MaxLineLength:MangaScreenModel.kt$MangaScreenModel$val (acceptedChain) = updateHelper.findAcceptedRootAndDiscardOthers(manga.source, chapters) - MaxLineLength:MangaScreenModel.kt$MangaScreenModel$val isUpdateIntervalEnabled = LibraryPreferences.MANGA_OUTSIDE_RELEASE_PERIOD in libraryPreferences.autoUpdateMangaRestrictions().get() - MaxLineLength:MangaScreenModel.kt$MangaScreenModel.State.Success$it.track != null && ((it.tracker is MdList && it.track.status != FollowStatus.UNFOLLOWED.long) || it.tracker !is MdList) - MaxLineLength:MdUtil.kt$MdUtil.Companion$fun - MaxLineLength:MemAutoFlushingLookupTable.kt$MemAutoFlushingLookupTable$* - MaxLineLength:MetadataViewScreen.kt$MetadataViewScreen$contentPadding = paddingValues + WindowInsets.navigationBars.asPaddingValues() + topSmallPaddingValues - MaxLineLength:MigrationListScreen.kt$MigrationListScreen$val mangaId = (items.orEmpty().firstOrNull()?.searchResult?.value as? MigratingManga.SearchResult.Result)?.id - MaxLineLength:MigrationListScreenModel.kt$MigrationListScreenModel$if - MaxLineLength:MigrationListScreenModel.kt$MigrationListScreenModel$manga.progress.value = validSources.size to processedSources.incrementAndGet() - MaxLineLength:MigrationListScreenModel.kt$MigrationListScreenModel$source.getChapterList(localManga.toSManga(), throttleManager::throttle) - MaxLineLength:MigrationListScreenModel.kt$MigrationListScreenModel$val prevChapter = prevMangaChapters.find { it.isRecognizedNumber && it.chapterNumber == chapter.chapterNumber } - MaxLineLength:MigrationSourceItem.kt$MigrationSourceItem$class - MaxLineLength:MigrationSourceItem.kt$MigrationSourceItem$override - MaxLineLength:NotificationExtensions.kt$if - MaxLineLength:PageHandler.kt$PageHandler$suspend - MaxLineLength:PagePreviewScreen.kt$(state.pageCount != null && state.pageCount > 1 /* TODO support unknown pageCount || state.hasNextPage*/) - MaxLineLength:PagerConfig.kt$PagerConfig$var - MaxLineLength:PagerPageHolder.kt$PagerPageHolder$val - MaxLineLength:PagerViewer.kt$PagerViewer$val forceTransition = config.alwaysShowChapterTransition || adapter.joinedItems.getOrNull(pager.currentItem)?.first is ChapterTransition - MaxLineLength:PreferenceScreen.kt$* - MaxLineLength:PururinDescriptionAdapter.kt$binding.genre.text - MaxLineLength:PururinDescriptionAdapter.kt$binding.rating.text = (round((ratingFloat ?: 0F) * 100.0) / 100.0).toString() + " - " + MetadataUIUtil.getRatingString(context, ratingFloat?.times(2)) - MaxLineLength:ReaderActivity.kt$ReaderActivity$if ((resources.configuration.layoutDirection == View.LAYOUT_DIRECTION_LTR) xor invertDoublePage) "${page.number}-${page.number + 1}" else "${page.number + 1}-${page.number}" - MaxLineLength:ReaderActivity.kt$ReaderActivity$stringResource(SYMR.strings.share_pages_info, manga.title, chapter.name, if (resources.configuration.layoutDirection == View.LAYOUT_DIRECTION_LTR) "${page.number}-${page.number + 1}" else "${page.number + 1}-${page.number}") - MaxLineLength:ReaderActivity.kt$ReaderActivity$val currentPage = (((viewer as? PagerViewer)?.currentPage ?: (viewer as? WebtoonViewer)?.currentPage) as? ReaderPage)?.index - MaxLineLength:ReaderActivity.kt$ReaderActivity$val showVerticalSeekbar = !forceHorizontalSeekbar && (verticalSeekbarLandscape || verticalSeekbarHorizontal) && viewerIsVertical - MaxLineLength:ReaderActivity.kt$ReaderActivity$val verticalSeekbarLandscape = configuration.orientation == Configuration.ORIENTATION_LANDSCAPE && landscapeVerticalSeekbar - MaxLineLength:ReaderActivity.kt$ReaderActivity$windowInsetsController.systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE - MaxLineLength:ReaderActivity.kt$ReaderActivity.Companion$fun - MaxLineLength:ReaderActivity.kt$ReaderActivity.ReaderConfig$PagerConfig.PageLayout.AUTOMATIC -> resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE - MaxLineLength:ReaderAppBars.kt$/* SY --> actions = { AppBarActions( listOfNotNull( AppBar.Action( title = stringResource( if (bookmarked) MR.strings.action_remove_bookmark else MR.strings.action_bookmark ), icon = if (bookmarked) Icons.Outlined.Bookmark else Icons.Outlined.BookmarkBorder, onClick = onToggleBookmarked, ), onOpenInWebView?.let { AppBar.OverflowAction( title = stringResource(MR.strings.action_open_in_web_view), onClick = it, ) }, onShare?.let { AppBar.OverflowAction( title = stringResource(MR.strings.action_share), onClick = it, ) }, ), ) }, SY <-- */ - MaxLineLength:ReaderPageImageView.kt$ReaderPageImageView$if - MaxLineLength:ReaderPreferences.kt$ReaderPreferences$fun readerBottomButtons() - MaxLineLength:ReaderViewModel.kt$ReaderViewModel$getMergedChaptersByMangaId.await(manga.id, applyScanlatorFilter = true) - MaxLineLength:Scaffold.kt$* - MaxLineLength:SecureActivityDelegate.kt$SecureActivityDelegate.Companion$requireUnlock - MaxLineLength:ShikimoriApi.kt$ShikimoriApi$track.library_id = it["id"]!!.jsonPrimitive.long // save id of the entry for possible future delete request - MaxLineLength:SourceFeedScreen.kt$SourceFeedScreen$fun - MaxLineLength:SourcesScreenModel.kt$SourcesScreenModel$SourceUiModel.Header(it.key.removePrefix(CATEGORY_KEY_PREFIX), it.value.firstOrNull()?.category != null) - MaxLineLength:SourcesScreenModel.kt$SourcesScreenModel$private - MaxLineLength:SpecificHostRateLimitInterceptor.kt$* - MaxLineLength:SyncService.kt$SyncService$* - MaxLineLength:SyncService.kt$SyncService$val - MaxLineLength:TsuminoDescriptionAdapter.kt$binding.pages.text = context.pluralStringResource(SYMR.plurals.num_pages, meta.length ?: 0, meta.length ?: 0) - MaxLineLength:TsuminoDescriptionAdapter.kt$binding.rating.text = (round((meta.averageRating ?: 0F) * 100.0) / 100.0).toString() + " - " + MetadataUIUtil.getRatingString(context, meta.averageRating?.times(2)) - MaxLineLength:WebViewUtil.kt$WebViewUtil$* - MaxLineLength:WebtoonPageHolder.kt$WebtoonPageHolder$cropBorders = (viewer.config.imageCropBorders && viewer.isContinuous) || (viewer.config.continuousCropBorders && !viewer.isContinuous) - MaximumLineLength:AnnotatedString.kt$ - MaximumLineLength:ApiMangaParser.kt$ApiMangaParser$ - MaximumLineLength:AzukiHandler.kt$AzukiHandler$ - MaximumLineLength:BackupTracking.kt$ - MaximumLineLength:BangumiInterceptor.kt$BangumiInterceptor$ - MaximumLineLength:BatchAddScreen.kt$BatchAddScreen$ - MaximumLineLength:BiometricTimesScreen.kt$BiometricTimesScreen$ - MaximumLineLength:ComikeyHandler.kt$ComikeyHandler$ - MaximumLineLength:DataSaver.kt$BandwidthHeroDataSaver$ - MaximumLineLength:DataSaver.kt$WsrvNlDataSaver$ - MaximumLineLength:DownloadPageLoader.kt$DownloadPageLoader$ - MaximumLineLength:EHConfigurator.kt$EHConfigurator$ - MaximumLineLength:EHHathPerksResponse.kt$EHHathPerksResponse$ - MaximumLineLength:EHentaiDescriptionAdapter.kt$ - MaximumLineLength:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$ - MaximumLineLength:EditMergedMangaItem.kt$EditMergedMangaItem$ - MaximumLineLength:EditMergedMangaItem.kt$EditMergedMangaItem$class - MaximumLineLength:EditMergedSettingsDialog.kt$ - MaximumLineLength:EditMergedSettingsDialog.kt$EditMergedSettingsState$ - MaximumLineLength:EditMergedSettingsHeaderAdapter.kt$EditMergedSettingsHeaderAdapter$ - MaximumLineLength:EditMergedSettingsHeaderAdapter.kt$EditMergedSettingsHeaderAdapter$class - MaximumLineLength:EnhancedFilePrinter.kt$EnhancedFilePrinter$ - MaximumLineLength:ExtensionInstaller.kt$ExtensionInstaller$ - MaximumLineLength:ExtensionManager.kt$ExtensionManager$ - MaximumLineLength:ExtensionsScreenModel.kt$ExtensionsScreenModel$ - MaximumLineLength:FavoritesSyncHelper.kt$FavoritesSyncHelper$ - MaximumLineLength:FeedScreenModel.kt$FeedScreenModel$ - MaximumLineLength:GalleryAdder.kt$GalleryAddEvent.Fail.UnknownSource$ - MaximumLineLength:GalleryAdder.kt$GalleryAddEvent.Fail.UnknownType$ - MaximumLineLength:GalleryAdder.kt$GalleryAdder$ - MaximumLineLength:HBrowseDescriptionAdapter.kt$ - MaximumLineLength:LibraryScreenModel.kt$LibraryScreenModel$ - MaximumLineLength:LibraryTab.kt$LibraryTab$ - MaximumLineLength:LibraryUpdateJob.kt$LibraryUpdateJob$ - MaximumLineLength:LibraryUpdateNotifier.kt$LibraryUpdateNotifier.Companion$ - MaximumLineLength:LocalFavoritesStorage.kt$LocalFavoritesStorage$ - MaximumLineLength:LocalSource.kt$LocalSource$ - MaximumLineLength:MangaChapterListItem.kt$ - MaximumLineLength:MangaDex.kt$MangaDex$ - MaximumLineLength:MangaDexDescriptionAdapter.kt$ - MaximumLineLength:MangaDexFollowsScreenModel.kt$MangaDexFollowsScreenModel$ - MaximumLineLength:MangaDexSimilarScreenModel.kt$MangaDexSimilarScreenModel$ - MaximumLineLength:MangaScreen.kt$MangaScreen$ - MaximumLineLength:MangaScreenModel.kt$MangaScreenModel$ - MaximumLineLength:MangaScreenModel.kt$MangaScreenModel.State.Success$ - MaximumLineLength:MdUtil.kt$MdUtil.Companion$ - MaximumLineLength:MetadataViewScreen.kt$MetadataViewScreen$ - MaximumLineLength:MigrationListScreen.kt$MigrationListScreen$ - MaximumLineLength:MigrationListScreenModel.kt$MigrationListScreenModel$ - MaximumLineLength:MigrationSourceItem.kt$MigrationSourceItem$ - MaximumLineLength:MigrationSourceItem.kt$MigrationSourceItem$class - MaximumLineLength:NotificationExtensions.kt$ - MaximumLineLength:PageHandler.kt$PageHandler$ - MaximumLineLength:PagePreviewScreen.kt$ - MaximumLineLength:PagerConfig.kt$PagerConfig$ - MaximumLineLength:PagerPageHolder.kt$PagerPageHolder$ - MaximumLineLength:PagerViewer.kt$PagerViewer$ - MaximumLineLength:PururinDescriptionAdapter.kt$ - MaximumLineLength:ReaderActivity.kt$ReaderActivity$ - MaximumLineLength:ReaderActivity.kt$ReaderActivity.Companion$ - MaximumLineLength:ReaderActivity.kt$ReaderActivity.ReaderConfig$ - MaximumLineLength:ReaderPageImageView.kt$ReaderPageImageView$ - MaximumLineLength:ReaderPreferences.kt$ReaderPreferences$ - MaximumLineLength:ReaderViewModel.kt$ReaderViewModel$ - MaximumLineLength:SecureActivityDelegate.kt$SecureActivityDelegate.Companion$ - MaximumLineLength:ShikimoriApi.kt$ShikimoriApi$ - MaximumLineLength:SourceFeedScreen.kt$SourceFeedScreen$ - MaximumLineLength:SourcesScreenModel.kt$SourcesScreenModel$ - MaximumLineLength:SyncService.kt$SyncService$ - MaximumLineLength:TsuminoDescriptionAdapter.kt$ - MaximumLineLength:WebtoonPageHolder.kt$WebtoonPageHolder$ - MayBeConst:TsuminoSearchMetadata.kt$TsuminoSearchMetadata.Companion$val BASE_URL = "https://www.tsumino.com" - MemberNameEqualsClassName:ExtensionInstaller.kt$ExtensionInstaller$private val extensionInstaller = Injekt.get<BasePreferences>().extensionInstaller() - ModifierClickableOrder:ScanlatorFilterDialog.kt$clickable { if (isExcluded) { mutableExcludedScanlators.remove(scanlator) } else { mutableExcludedScanlators.add(scanlator) } } - ModifierMissing:AppBar.kt$AppBarActions - ModifierMissing:AppThemePreferenceWidget.kt$AppThemePreviewItem - ModifierMissing:AutoCompleteItem.kt$AutoCompleteItem - ModifierMissing:AutoCompleteItem.kt$AutoCompleteTextField - ModifierMissing:BiometricTimesContent.kt$BiometricTimesContent - ModifierMissing:BiometricTimesScreen.kt$BiometricTimesScreen - ModifierMissing:BottomReaderBar.kt$BottomReaderBar - ModifierMissing:BrowseSourceComfortableGrid.kt$BrowseSourceComfortableGrid - ModifierMissing:BrowseSourceCompactGrid.kt$BrowseSourceCompactGrid - ModifierMissing:BrowseSourceEHentaiList.kt$BrowseSourceEHentaiList - ModifierMissing:BrowseSourceEHentaiList.kt$BrowseSourceEHentaiListItem - ModifierMissing:BrowseSourceList.kt$BrowseSourceList - ModifierMissing:BrowseSourceScreen.kt$BrowseSourceContent - ModifierMissing:BrowseSourceSimpleToolbar.kt$BrowseSourceSimpleToolbar - ModifierMissing:BrowseSourceToolbar.kt$BrowseSourceToolbar - ModifierMissing:BrowseTabWrapper.kt$BrowseTabWrapper - ModifierMissing:CategoryScreen.kt$CategoryScreen - ModifierMissing:ChapterListDialog.kt$ChapterListDialog - ModifierMissing:ChapterNavigator.kt$ChapterNavigator - ModifierMissing:ChapterNavigator.kt$ChapterNavigatorVert - ModifierMissing:ChapterSettingsDialog.kt$ChapterSettingsDialog - ModifierMissing:ChapterSettingsDialog.kt$ScanlatorFilterItem - ModifierMissing:CollapsibleBox.kt$CollapsibleBox - ModifierMissing:CommonMangaItem.kt$MangaComfortableGridItem - ModifierMissing:CommonMangaItem.kt$MangaCompactGridItem - ModifierMissing:CommonMangaItem.kt$MangaListItem - ModifierMissing:CrashScreen.kt$CrashScreen - ModifierMissing:EHDebugModeOverlay.kt$DebugModeOverlay - ModifierMissing:EHentaiDescriptionAdapter.kt$EHentaiDescription - ModifierMissing:EhLoginWebViewScreen.kt$EhLoginWebViewScreen - ModifierMissing:EightMusesDescriptionAdapter.kt$EightMusesDescription - ModifierMissing:ExtensionDetailsScreen.kt$ExtensionDetailsScreen - ModifierMissing:ExtensionFilterScreen.kt$ExtensionFilterScreen - ModifierMissing:ExtensionReposScreen.kt$ExtensionReposScreen - ModifierMissing:ExtensionsScreen.kt$ExtensionScreen - ModifierMissing:FeedScreen.kt$FeedScreen - ModifierMissing:FeedScreen.kt$RadioSelector - ModifierMissing:GlobalSearchCardRow.kt$GlobalSearchCardRow - ModifierMissing:GlobalSearchResultItems.kt$GlobalSearchErrorResultItem - ModifierMissing:GlobalSearchResultItems.kt$GlobalSearchLoadingResultItem - ModifierMissing:GlobalSearchScreen.kt$GlobalSearchScreen - ModifierMissing:GlobalSearchToolbar.kt$GlobalSearchToolbar - ModifierMissing:HBrowseDescriptionAdapter.kt$HBrowseDescription - ModifierMissing:HistoryScreen.kt$HistoryScreen - ModifierMissing:HomeScreen.kt$HomeScreen$NavigationRailItem - ModifierMissing:InfoScreen.kt$InfoScreen - ModifierMissing:LibraryContent.kt$LibraryContent - ModifierMissing:LibraryPager.kt$LibraryPager - ModifierMissing:LibrarySettingsDialog.kt$LibrarySettingsDialog - ModifierMissing:LogoHeader.kt$LogoHeader - ModifierMissing:MangaCoverDialog.kt$MangaCoverDialog - ModifierMissing:MangaDexDescriptionAdapter.kt$MangaDexDescription - ModifierMissing:MangaDexFilterHeader.kt$MangaDexFilterHeader - ModifierMissing:MangaInfoButtons.kt$MangaInfoButtons - ModifierMissing:MangaScreen.kt$MangaScreenLargeImpl - ModifierMissing:MigrateMangaScreen.kt$MigrateMangaScreen - ModifierMissing:MigrateSearchScreen.kt$MigrateSearchScreen - ModifierMissing:MigrateSourceScreen.kt$MigrateSourceScreen - ModifierMissing:MigrationBottomSheetDialog.kt$MigrationBottomSheetDialog - ModifierMissing:MigrationListScreen.kt$MigrationListScreen - ModifierMissing:ModeSelectionDialog.kt$ModeSelectionDialog - ModifierMissing:MoreScreen.kt$MoreScreen - ModifierMissing:NHentaiDescriptionAdapter.kt$NHentaiDescription - ModifierMissing:NamespaceTags.kt$NamespaceTags - ModifierMissing:NewUpdateScreen.kt$NewUpdateScreen - ModifierMissing:OnboardingScreen.kt$OnboardingScreen - ModifierMissing:PageIndicatorText.kt$PageIndicatorText - ModifierMissing:PagePreviewScreen.kt$PagePreviewScreen - ModifierMissing:PagePreviews.kt$PagePreviews - ModifierMissing:PreferenceGroupHeader.kt$PreferenceGroupHeader - ModifierMissing:PreferenceScaffold.kt$PreferenceScaffold - ModifierMissing:PururinDescriptionAdapter.kt$PururinDescription - ModifierMissing:ReaderAppBars.kt$ReaderAppBars - ModifierMissing:ReaderPageActionsDialog.kt$ReaderPageActionsDialog - ModifierMissing:ReaderSettingsDialog.kt$ReaderSettingsDialog - ModifierMissing:SavedSearchItem.kt$SavedSearchItem - ModifierMissing:SectionCard.kt$SectionCard - ModifierMissing:SettingsDebugScreen.kt$SettingsDebugScreen$FunctionList - ModifierMissing:SettingsEhScreen.kt$SettingsEhScreen$FrontPageCategoriesDialogRow - ModifierMissing:SettingsEhScreen.kt$SettingsEhScreen$LanguageDialogRow - ModifierMissing:SettingsEhScreen.kt$SettingsEhScreen$LanguageDialogRowCheckbox - ModifierMissing:SettingsEhScreen.kt$SettingsEhScreen$UpdaterStatisticsLoadingDialog - ModifierMissing:SettingsItems.kt$CheckboxItem - ModifierMissing:SettingsItems.kt$HeadingItem - ModifierMissing:SettingsItems.kt$IconItem - ModifierMissing:SettingsItems.kt$RadioItem - ModifierMissing:SettingsItems.kt$SelectItem - ModifierMissing:SettingsItems.kt$SettingsChipRow - ModifierMissing:SettingsItems.kt$SettingsIconGrid - ModifierMissing:SettingsItems.kt$SliderItem - ModifierMissing:SettingsItems.kt$SortItem - ModifierMissing:SettingsItems.kt$TextItem - ModifierMissing:SettingsItems.kt$TriStateItem - ModifierMissing:SettingsMainScreen.kt$SettingsMainScreen$Content - ModifierMissing:SortTagContent.kt$SortTagContent - ModifierMissing:SortTagScreen.kt$SortTagScreen - ModifierMissing:SourceCategoryContent.kt$SourceCategoryContent - ModifierMissing:SourceCategoryScreen.kt$SourceCategoryScreen - ModifierMissing:SourceFeedScreen.kt$SourceFeedList - ModifierMissing:SourceFeedScreen.kt$SourceFeedScreen - ModifierMissing:SourceFilterDialog.kt$SourceFilterDialog - ModifierMissing:SourcesFilterScreen.kt$SourcesFilterScreen - ModifierMissing:SourcesScreen.kt$SourcesScreen - ModifierMissing:StatsScreenContent.kt$StatsScreenContent - ModifierMissing:TabbedScreen.kt$TabbedScreen - ModifierMissing:Tabs.kt$TabText - ModifierMissing:TrackInfoDialogHome.kt$TrackInfoDialogHome - ModifierMissing:TrackInfoDialogSelector.kt$TrackChapterSelector - ModifierMissing:TrackInfoDialogSelector.kt$TrackDateSelector - ModifierMissing:TrackInfoDialogSelector.kt$TrackScoreSelector - ModifierMissing:TrackInfoDialogSelector.kt$TrackStatusSelector - ModifierMissing:TrackLogoIcon.kt$TrackLogoIcon - ModifierMissing:TrackerSearch.kt$TrackerSearch - ModifierMissing:TsuminoDescriptionAdapter.kt$TsuminoDescription - ModifierMissing:UpdatesScreen.kt$UpdateScreen - ModifierMissing:WebViewScreenContent.kt$WebViewScreenContent - ModifierMissing:WheelPicker.kt$WheelPickerDefaults$Background - ModifierMissing:WheelPicker.kt$WheelPickerDefaults$Item - ModifierNotUsedAtRoot:DropdownMenu.kt$modifier = modifier - ModifierNotUsedAtRoot:MangaChapterListItem.kt$modifier = modifier .selectedBackground(selected) .combinedClickable( onClick = onClick, onLongClick = onLongClick, ) .padding(start = 16.dp, top = 12.dp, end = 8.dp, bottom = 12.dp) - ModifierNotUsedAtRoot:TrackingPreferenceWidget.kt$modifier = modifier .clickable(enabled = onClick != null, onClick = { onClick?.invoke() }) .fillMaxWidth() .padding(horizontal = PrefsHorizontalPadding, vertical = 8.dp) - ModifierWithoutDefault:BiometricTimesListItem.kt$modifier - ModifierWithoutDefault:Chip.kt$modifier - ModifierWithoutDefault:MigrationActionIcon.kt$modifier - ModifierWithoutDefault:MigrationItem.kt$modifier - ModifierWithoutDefault:MigrationItemResult.kt$modifier - ModifierWithoutDefault:PagePreviews.kt$modifier - ModifierWithoutDefault:ReaderAppBars.kt$modifier - ModifierWithoutDefault:SortTagListItem.kt$modifier - ModifierWithoutDefault:SourceCategoryListItem.kt$modifier - ModifierWithoutDefault:SourcesFilterScreen.kt$modifier - MultiLineIfElse:SettingsAppearanceScreen.kt$SettingsAppearanceScreen$pluralStringResource( SYMR.plurals.row_count, previewsRowCount, previewsRowCount, ) - MultiLineIfElse:SettingsAppearanceScreen.kt$SettingsAppearanceScreen$stringResource(MR.strings.disabled) - NestedBlockDepth:Anilist.kt$Anilist$override suspend fun update(track: Track, didReadChapter: Boolean): Track - NestedBlockDepth:ApiMangaParser.kt$ApiMangaParser$fun parseIntoMetadata( metadata: MangaDexSearchMetadata, mangaDto: MangaDto, simpleChapters: List<String>, statistics: StatisticsMangaDto?, ) - NestedBlockDepth:AppLanguageScreen.kt$AppLanguageScreen$private fun getLangs(context: Context): ImmutableList<Language> - NestedBlockDepth:ArchiveReader.kt$ArchiveReader$private fun isPasswordIncorrect(): Boolean? - NestedBlockDepth:BackupRestorer.kt$BackupRestorer$private fun writeErrorLog(): File - NestedBlockDepth:BrowseSourceScreenModel.kt$BrowseSourceScreenModel$fun searchGenre(genreName: String) - NestedBlockDepth:ChapterLoader.kt$ChapterLoader$private fun getPageLoader(chapter: ReaderChapter): PageLoader - NestedBlockDepth:CloseableExtensions.kt$inline fun <T : Closeable?> Array<T>.use(block: () -> Unit) - NestedBlockDepth:ContextExtensions.kt$fun Context.openInBrowser(uri: Uri, forceDefaultBrowser: Boolean = false) - NestedBlockDepth:DownloadQueueScreenModel.kt$DownloadQueueScreenModel.<no name provided>$override fun onMenuItemClick(position: Int, menuItem: MenuItem) - NestedBlockDepth:Downloader.kt$Downloader$private fun archiveChapter( mangaDir: UniFile, dirname: String, tmpDir: UniFile, ) - NestedBlockDepth:EHentai.kt$EHentai$override suspend fun parseIntoMetadata(metadata: EHentaiSearchMetadata, input: Document) - NestedBlockDepth:EHentai.kt$EHentai$private fun extendedGenericMangaParse(doc: Document) - NestedBlockDepth:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$private suspend fun startUpdating() - NestedBlockDepth:EXHMigrations.kt$EXHMigrations$fun upgrade( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, pagePreviewCache: PagePreviewCache, ): Boolean - NestedBlockDepth:ExtensionInstaller.kt$ExtensionInstaller$fun installApk(downloadId: Long, uri: Uri) - NestedBlockDepth:FilterHandler.kt$FilterHandler$fun getQueryMap(filters: FilterList): Map<String, Any> - NestedBlockDepth:GalleryAdder.kt$GalleryAdder$suspend fun addGallery( context: Context, url: String, fav: Boolean = false, forceSource: UrlImportableSource? = null, throttleFunc: suspend () -> Unit = {}, retry: Int = 1, ): GalleryAddEvent - NestedBlockDepth:GetMergedChaptersByMangaId.kt$GetMergedChaptersByMangaId$private fun dedupeByPriority( mangaReferences: List<MergedMangaReference>, chapterList: List<Chapter>, ): List<Chapter> - NestedBlockDepth:GoogleDriveSyncService.kt$GoogleDriveSyncService$override suspend fun beforeSync() - NestedBlockDepth:HBrowse.kt$HBrowse$override suspend fun parseIntoMetadata(metadata: HBrowseSearchMetadata, input: Document) - NestedBlockDepth:ImageUtil.kt$ImageUtil$fun chooseBackground(context: Context, imageStream: InputStream): Drawable - NestedBlockDepth:KavitaApi.kt$KavitaApi$fun getNewToken(apiUrl: String, apiKey: String): String? - NestedBlockDepth:KavitaApi.kt$KavitaApi$private fun getLatestChapterRead(url: String): Double - NestedBlockDepth:Kitsu.kt$Kitsu$override suspend fun update(track: Track, didReadChapter: Boolean): Track - NestedBlockDepth:LibraryUpdateJob.kt$LibraryUpdateJob$private fun writeErrorFile(errors: List<Pair<Manga, String?>>): File - NestedBlockDepth:LocalSource.kt$LocalSource$private fun copyComicInfoFile(comicInfoFileStream: InputStream, folder: UniFile): UniFile? - NestedBlockDepth:LocalSource.kt$LocalSource$private fun copyComicInfoFileFromArchive(chapterArchives: List<UniFile>, folder: UniFile): UniFile? - NestedBlockDepth:LocalSource.kt$LocalSource$private fun updateCover(chapter: SChapter, manga: SManga): UniFile? - NestedBlockDepth:MigrationListScreenModel.kt$MigrationListScreenModel$private suspend fun migrateMangaInternal( prevManga: Manga, manga: Manga, replace: Boolean, ) - NestedBlockDepth:MigrationListScreenModel.kt$MigrationListScreenModel$private suspend fun runMigrations(mangas: List<MigratingManga>) - NestedBlockDepth:Migrations.kt$Migrations$fun upgrade( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, ): Boolean - NestedBlockDepth:MyAnimeList.kt$MyAnimeList$override suspend fun update(track: Track, didReadChapter: Boolean): Track - NestedBlockDepth:PagerViewerAdapter.kt$PagerViewerAdapter$private fun setJoinedItems(useSecondPage: Boolean = false) - NestedBlockDepth:Pururin.kt$Pururin$override suspend fun parseIntoMetadata(metadata: PururinSearchMetadata, input: Document) - NestedBlockDepth:RaisedSearchMetadata.kt$RaisedSearchMetadata$fun tagsToDescription() - NestedBlockDepth:SearchEngine.kt$SearchEngine$fun queryToSql(q: List<QueryComponent>): Pair<String, List<String>> - NestedBlockDepth:SmartSearchEngine.kt$SmartSearchEngine$private fun removeTextInBrackets(text: String, readForward: Boolean): String - NestedBlockDepth:SyncChaptersWithSource.kt$SyncChaptersWithSource$suspend fun await( rawSourceChapters: List<SChapter>, manga: Manga, source: Source, manualFetch: Boolean = false, fetchWindow: Pair<Long, Long> = Pair(0, 0), ): List<Chapter> - NestedBlockDepth:UniFileExtensions.kt$fun UniFile.unzip(destination: File, onlyCopyImages: Boolean = false) - NestedBlockDepth:UniFileTempFileManager.kt$UniFileTempFileManager$fun createTempFile(file: UniFile): File - NestedBlockDepth:WebtoonRecyclerView.kt$WebtoonRecyclerView.Detector$override fun onTouchEvent(ev: MotionEvent): Boolean - NestedBlockDepth:WebtoonViewer.kt$WebtoonViewer$fun scrollDown() - NewLineAtEndOfFile:Commands.kt$.Commands.kt - NoConsecutiveBlankLines:LocalesConfigPlugin.kt$ - NoTrailingSpaces:ReaderViewModel.kt$ReaderViewModel$ - NoUnusedImports:BackupManga.kt$eu.kanade.tachiyomi.data.backup.models.BackupManga.kt - NoUnusedImports:CreateBackupScreen.kt$eu.kanade.presentation.more.settings.screen.data.CreateBackupScreen.kt - NoUnusedImports:TachiyomiImageDecoder.kt$eu.kanade.tachiyomi.data.coil.TachiyomiImageDecoder.kt - PreviewPublic:NamespaceTags.kt$NamespaceTagsPreview - PreviewPublic:Scrollbar.kt$LazyListHorizontalScrollbarPreview - PreviewPublic:Scrollbar.kt$LazyListScrollbarPreview - PrintStackTrace:EnhancedFilePrinter.kt$EnhancedFilePrinter.Worker$e - PrintStackTrace:EnhancedFilePrinter.kt$EnhancedFilePrinter.Writer$e - RethrowCaughtException:LocalSource.kt$LocalSource$throw e - ReturnCount:AndroidSourceManager.kt$AndroidSourceManager$private suspend fun createStubSource(id: Long): StubSource - ReturnCount:BackupCreateJob.kt$BackupCreateJob$override suspend fun doWork(): Result - ReturnCount:BrowseSourceScreen.kt$@Composable fun BrowseSourceContent( source: Source?, mangaList: LazyPagingItems<StateFlow</* SY --> */Pair<Manga, RaisedSearchMetadata?>/* SY <-- */>>, columns: GridCells, // SY --> ehentaiBrowseDisplayMode: Boolean, // SY <-- displayMode: LibraryDisplayMode, snackbarHostState: SnackbarHostState, contentPadding: PaddingValues, // SY --> onWebViewClick: (() -> Unit)?, onHelpClick: (() -> Unit)?, onLocalSourceHelpClick: (() -> Unit)?, // SY <-- onMangaClick: (Manga) -> Unit, onMangaLongClick: (Manga) -> Unit, ) - ReturnCount:ChapterRecognition.kt$ChapterRecognition$fun parseChapterNumber( mangaTitle: String, chapterName: String, chapterNumber: Double? = null, ): Double - ReturnCount:ChapterRecognition.kt$ChapterRecognition$private fun checkForDecimal(decimal: String?, alpha: String?): Double - ReturnCount:EHentai.kt$EHentai.ThumbnailPreviewInterceptor$override fun intercept(chain: Interceptor.Chain): Response - ReturnCount:EXHMigrations.kt$EXHMigrations$fun upgrade( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, pagePreviewCache: PagePreviewCache, ): Boolean - ReturnCount:EhLoginActivity.kt$EhLoginActivity$private fun applyExHentaiCookies(url: String, customIgneous: String?): Boolean - ReturnCount:ExtensionInstallService.kt$ExtensionInstallService$override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int - ReturnCount:ExtensionInstallerPreference.kt$ExtensionInstallerPreference$private fun check(value: ExtensionInstaller): ExtensionInstaller - ReturnCount:ExtensionLoader.kt$ExtensionLoader$fun installPrivateExtensionFile(context: Context, file: File): Boolean - ReturnCount:ExtensionLoader.kt$ExtensionLoader$private fun loadExtension(context: Context, extensionInfo: ExtensionInfo): LoadResult - ReturnCount:ExtensionLoader.kt$ExtensionLoader$private fun selectExtensionPackage(shared: ExtensionInfo?, private: ExtensionInfo?): ExtensionInfo? - ReturnCount:FavoritesSyncHelper.kt$FavoritesSyncHelper$private suspend fun beginSync() - ReturnCount:GalleryAdder.kt$GalleryAdder$suspend fun addGallery( context: Context, url: String, fav: Boolean = false, forceSource: UrlImportableSource? = null, throttleFunc: suspend () -> Unit = {}, retry: Int = 1, ): GalleryAddEvent - ReturnCount:GoogleDriveSyncService.kt$GoogleDriveSyncService$override suspend fun pullSyncData(): SyncData? - ReturnCount:HttpPageLoader.kt$HttpPageLoader$private fun preloadNextPages(currentPage: ReaderPage, amount: Int): List<PriorityPage> - ReturnCount:ImageUtil.kt$ImageUtil$fun chooseBackground(context: Context, imageStream: InputStream): Drawable - ReturnCount:KavitaApi.kt$KavitaApi$fun getNewToken(apiUrl: String, apiKey: String): String? - ReturnCount:KavitaApi.kt$KavitaApi$private fun getLatestChapterRead(url: String): Double - ReturnCount:LibraryUpdateJob.kt$LibraryUpdateJob$override suspend fun doWork(): Result - ReturnCount:LibraryUpdateJob.kt$LibraryUpdateJob$private suspend fun updateManga(manga: Manga, fetchWindow: Pair<Long, Long>): List<Chapter> - ReturnCount:LibraryUpdateJob.kt$LibraryUpdateJob.Companion$fun startNow( context: Context, category: Category? = null, target: Target = Target.CHAPTERS, // SY --> group: Int = LibraryGroup.BY_DEFAULT, groupExtra: String? = null, // SY <-- ): Boolean - ReturnCount:LocalCoverManager.kt$LocalCoverManager$actual fun update( manga: SManga, inputStream: InputStream, // SY --> encrypted: Boolean, // SY <-- ): UniFile? - ReturnCount:LocalSource.kt$LocalSource$private fun copyComicInfoFileFromArchive(chapterArchives: List<UniFile>, folder: UniFile): UniFile? - ReturnCount:MainActivity.kt$MainActivity$private fun handleIntentAction(intent: Intent, navigator: Navigator): Boolean - ReturnCount:MangaCoverFetcher.kt$MangaCoverFetcher$private suspend fun httpLoader(): FetchResult - ReturnCount:MangaDexAuthInterceptor.kt$MangaDexAuthInterceptor$override fun intercept(chain: Interceptor.Chain): Response - ReturnCount:MangaExtensions.kt$fun Manga.shouldDownloadNewChapters(dbCategories: List<Long>, preferences: DownloadPreferences): Boolean - ReturnCount:MdUtil.kt$MdUtil.Companion$fun getMissingChapterCount(chapters: List<SChapter>, mangaStatus: Int): String? - ReturnCount:Migrations.kt$Migrations$fun upgrade( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, ): Boolean - ReturnCount:MyAnimeList.kt$MyAnimeList$override suspend fun search(query: String): List<TrackSearch> - ReturnCount:NetworkExtensions.kt$fun Context.isConnectedToWifi(): Boolean - ReturnCount:PageHandler.kt$PageHandler$@Suppress("UNCHECKED_CAST") private fun updateExtensionVariable(mangadex: Source, atHomeRequestUrl: String) - ReturnCount:PagePreviewFetcher.kt$PagePreviewFetcher$private suspend fun httpLoader(): FetchResult - ReturnCount:PagerPageHolder.kt$PagerPageHolder$private fun mergePages(imageStream: InputStream, imageStream2: InputStream?): InputStream - ReturnCount:PagerViewer.kt$PagerViewer$override fun handleKeyEvent(event: KeyEvent): Boolean - ReturnCount:PagerViewerAdapter.kt$PagerViewerAdapter$fun onPageSplit(currentPage: Any?, newPage: InsertPage) - ReturnCount:ReaderActivity.kt$ReaderActivity$override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean - ReturnCount:ReaderViewModel.kt$ReaderViewModel$fun saveImages() - ReturnCount:ReaderViewModel.kt$ReaderViewModel$fun setAsCover(useExtraPage: Boolean) - ReturnCount:ReaderViewModel.kt$ReaderViewModel$fun shareImages() - ReturnCount:ReorderSortTag.kt$ReorderSortTag$fun await(tag: String, newPosition: Int): Result - ReturnCount:SyncManager.kt$SyncManager$private fun areChaptersDifferent(localChapters: List<Chapters>, remoteChapters: List<BackupChapter>): Boolean - ReturnCount:SyncManager.kt$SyncManager$private suspend fun isMangaDifferent(localManga: Manga, remoteManga: BackupManga): Boolean - ReturnCount:SyncManager.kt$SyncManager$suspend fun syncData() - ReturnCount:TimeRange.kt$TimeRange.Companion$fun fromPreferenceString(timeRange: String): TimeRange? - ReturnCount:WebViewInterceptor.kt$WebViewInterceptor$override fun intercept(chain: Interceptor.Chain): Response - ReturnCount:WebViewInterceptor.kt$private fun isRequestHeaderSafe(_name: String, _value: String): Boolean - ReturnCount:WebtoonFrame.kt$WebtoonFrame$override fun dispatchTouchEvent(ev: MotionEvent): Boolean - ReturnCount:WebtoonRecyclerView.kt$WebtoonRecyclerView.Detector$override fun onTouchEvent(ev: MotionEvent): Boolean - ReturnCount:WebtoonViewer.kt$WebtoonViewer$override fun handleKeyEvent(event: KeyEvent): Boolean - SerialVersionUIDInSerializableClass:Category.kt$Category : Serializable - SerialVersionUIDInSerializableClass:Manga.kt$Manga : Serializable - SerialVersionUIDInSerializableClass:MigrationProcedureConfig.kt$MigrationProcedureConfig : Serializable - SerialVersionUIDInSerializableClass:SourcesScreen.kt$SourcesScreen$SmartSearchConfig : Serializable - SerialVersionUIDInSerializableClass:Track.kt$Track : Serializable - SpreadOperator:App.kt$App$( logConfig, *printers.toTypedArray(), ) - SpreadOperator:ChapterRepositoryImpl.kt$ChapterRepositoryImpl$(*chapterUpdates.toTypedArray()) - SpreadOperator:ChapterSanitizer.kt$ChapterSanitizer$(*CHAPTER_TRIM_CHARS) - SpreadOperator:LibraryScreenModel.kt$LibraryScreenModel$(*prefFlows) - SpreadOperator:LibraryUpdateJob.kt$LibraryUpdateJob$(true, *newReadChapters.toTypedArray()) - SpreadOperator:MangaMergeRepositoryImpl.kt$MangaMergeRepositoryImpl$(*values.toTypedArray()) - SpreadOperator:MangaRepositoryImpl.kt$MangaRepositoryImpl$(*mangaUpdates.toTypedArray()) - SpreadOperator:ReaderViewModel.kt$ReaderViewModel$(true, *it.toTypedArray()) - SpreadOperator:SourcesScreenModel.kt$SourcesScreenModel$( SourceUiModel.Header(it.key.removePrefix(CATEGORY_KEY_PREFIX), it.value.firstOrNull()?.category != null), *it.value.map { source -> SourceUiModel.Item(source) }.toTypedArray(), ) - SpreadOperator:TrackRepositoryImpl.kt$TrackRepositoryImpl$(*tracks.toTypedArray()) - SwallowedException:AboutScreen.kt$AboutScreen$e: Exception - SwallowedException:AndroidPreference.kt$AndroidPreference$e: ClassCastException - SwallowedException:AndroidPreference.kt$AndroidPreference.Object$e: Exception - SwallowedException:Anilist.kt$Anilist$e: ClassCastException - SwallowedException:Anilist.kt$Anilist$e: Exception - SwallowedException:Anilist.kt$Anilist$e: Throwable - SwallowedException:AnilistModels.kt$ALManga$e: Exception - SwallowedException:BackupRestorer.kt$BackupRestorer$e: Exception - SwallowedException:Bangumi.kt$Bangumi$e: Exception - SwallowedException:Bangumi.kt$Bangumi$e: Throwable - SwallowedException:BrowseIcons.kt$e: Exception - SwallowedException:ChapterCache.kt$ChapterCache$e: IOException - SwallowedException:ChapterLoader.kt$ChapterLoader$e: UnsupportedRarV5Exception - SwallowedException:ContextExtensions.kt$e: Exception - SwallowedException:ContextExtensions.kt$e: PackageManager.NameNotFoundException - SwallowedException:CrashLogUtil.kt$CrashLogUtil$e: Throwable - SwallowedException:CreateBackupScreen.kt$CreateBackupScreen$e: ActivityNotFoundException - SwallowedException:CustomMangaRepositoryImpl.kt$CustomMangaRepositoryImpl$e: Exception - SwallowedException:DeviceUtil.kt$DeviceUtil$e: Exception - SwallowedException:DownloadPendingDeleter.kt$DownloadPendingDeleter$e: Exception - SwallowedException:DownloadStore.kt$DownloadStore$e: Exception - SwallowedException:Downloader.kt$Downloader$e: Throwable - SwallowedException:EHNetworkLogging.kt$ex: Exception - SwallowedException:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$e: Exception - SwallowedException:EXHMigrations.kt$EXHMigrations$e: Exception - SwallowedException:EXHMigrations.kt$EXHMigrations$e: URISyntaxException - SwallowedException:EXHMigrations.kt$EXHMigrations.MangaConfig.Companion$e: Exception - SwallowedException:EnhancedFilePrinter.kt$EnhancedFilePrinter.Writer$e: IOException - SwallowedException:ExceptionUtil.kt$t: Throwable - SwallowedException:ExtensionLoader.kt$ExtensionLoader$error: PackageManager.NameNotFoundException - SwallowedException:FeedScreenModel.kt$FeedScreenModel$e: Exception - SwallowedException:GalleryAdder.kt$GalleryAdder$e: Exception - SwallowedException:GetChapterByUrlAndMangaId.kt$GetChapterByUrlAndMangaId$e: Exception - SwallowedException:GetPagePreviews.kt$GetPagePreviews$e: Exception - SwallowedException:HttpSource.kt$HttpSource$e: URISyntaxException - SwallowedException:ImageUtil.kt$ImageUtil$e: Exception - SwallowedException:Kavita.kt$Kavita$e: Exception - SwallowedException:KavitaApi.kt$KavitaApi$e: SocketTimeoutException - SwallowedException:Kitsu.kt$Kitsu$e: Exception - SwallowedException:KitsuModels.kt$KitsuSearchManga$e: IllegalArgumentException - SwallowedException:Komga.kt$Komga$e: Exception - SwallowedException:LibrarySortMode.kt$LibrarySort.Companion$e: Exception - SwallowedException:LibraryUpdateJob.kt$LibraryUpdateJob$e: Exception - SwallowedException:LocalSource.kt$LocalSource$e: Format.UnknownFormatException - SwallowedException:MangaScreen.kt$MangaScreen$e: Exception - SwallowedException:MangaUpdates.kt$MangaUpdates$e: Exception - SwallowedException:MangaUpdatesApi.kt$MangaUpdatesApi$e: Exception - SwallowedException:MdUtil.kt$MdUtil.Companion$e: Exception - SwallowedException:MetadataUpdateJob.kt$MetadataUpdateJob$e: Exception - SwallowedException:MigrationListScreenModel.kt$MigrationListScreenModel$e: CancellationException - SwallowedException:MigrationListScreenModel.kt$MigrationListScreenModel$e: Exception - SwallowedException:MyAnimeList.kt$MyAnimeList$e: Exception - SwallowedException:MyAnimeList.kt$MyAnimeList$e: Throwable - SwallowedException:MyAnimeListApi.kt$MyAnimeListApi$e: Exception - SwallowedException:OkHttpExtensions.kt$ex: Throwable - SwallowedException:PagePreviewCache.kt$PagePreviewCache$e: Exception - SwallowedException:PagePreviewCache.kt$PagePreviewCache$e: IOException - SwallowedException:Pager.kt$Pager$e: IllegalArgumentException - SwallowedException:Pager.kt$Pager$e: IndexOutOfBoundsException - SwallowedException:Pager.kt$Pager$e: NullPointerException - SwallowedException:PreferenceStore.kt$e: IllegalArgumentException - SwallowedException:RarPageLoader.kt$RarPageLoader$e: Exception - SwallowedException:ReaderActivity.kt$ReaderActivity$e: ArrayIndexOutOfBoundsException - SwallowedException:ReaderViewModel.kt$ReaderViewModel$e: Exception - SwallowedException:SettingsAdvancedScreen.kt$SettingsAdvancedScreen$e: ActivityNotFoundException - SwallowedException:SettingsDataScreen.kt$SettingsDataScreen$e: ActivityNotFoundException - SwallowedException:Shikimori.kt$Shikimori$e: Exception - SwallowedException:Shikimori.kt$Shikimori$e: Throwable - SwallowedException:SourceFeedScreenModel.kt$SourceFeedScreenModel$e: Exception - SwallowedException:StorageStep.kt$StorageStep$e: ActivityNotFoundException - SwallowedException:Suwayomi.kt$Suwayomi$e: Exception - SwallowedException:TrackInfoDialog.kt$TrackInfoDialogHomeScreen.Model$e: Exception - SwallowedException:UrlImportableSource.kt$UrlImportableSource$e: URISyntaxException - ThrowingExceptionsWithoutMessageOrCause:MangaScreenModel.kt$MangaScreenModel$IllegalStateException() - ThrowingExceptionsWithoutMessageOrCause:OkHttpExtensions.kt$Exception() - ThrowingExceptionsWithoutMessageOrCause:PackageInstallerInstaller.kt$PackageInstallerInstaller$IllegalStateException() - ThrowingExceptionsWithoutMessageOrCause:ShizukuInstaller.kt$ShizukuInstaller$IllegalStateException() - ThrowingExceptionsWithoutMessageOrCause:TrackInfoDialog.kt$TrackInfoDialogHomeScreen.Model$Exception() - ThrowsCount:BackupCreator.kt$BackupCreator$suspend fun backup(uri: Uri, options: BackupOptions): String - ThrowsCount:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$private suspend fun updateEntryAndGetChapters(manga: Manga): Pair<List<Chapter>, List<Chapter>> - ThrowsCount:FileExtensions.kt$fun File.copyAndSetReadOnlyTo(target: File, overwrite: Boolean = false, bufferSize: Int = DEFAULT_BUFFER_SIZE): File - ThrowsCount:KavitaApi.kt$KavitaApi$fun getNewToken(apiUrl: String, apiKey: String): String? - ThrowsCount:LocalSource.kt$LocalSource$fun getFormat(chapter: SChapter): Format - ThrowsCount:MangaScreenModel.kt$MangaScreenModel$suspend fun smartSearchMerge(manga: Manga, originalMangaId: Long): Manga - ThrowsCount:MigrationListScreenModel.kt$MigrationListScreenModel$private suspend fun runMigrations(mangas: List<MigratingManga>) - TooGenericExceptionCaught:AboutScreen.kt$AboutScreen$e: Exception - TooGenericExceptionCaught:AddTracks.kt$AddTracks$e: Exception - TooGenericExceptionCaught:AndroidPreference.kt$AndroidPreference.Object$e: Exception - TooGenericExceptionCaught:Anilist.kt$Anilist$e: Exception - TooGenericExceptionCaught:Anilist.kt$Anilist$e: Throwable - TooGenericExceptionCaught:AnilistModels.kt$ALManga$e: Exception - TooGenericExceptionCaught:ApiMangaParser.kt$ApiMangaParser$e: Exception - TooGenericExceptionCaught:App.kt$App$e: Exception - TooGenericExceptionCaught:AppUpdateDownloadJob.kt$AppUpdateDownloadJob$e: Exception - TooGenericExceptionCaught:BackupCreateJob.kt$BackupCreateJob$e: Exception - TooGenericExceptionCaught:BackupCreator.kt$BackupCreator$e: Exception - TooGenericExceptionCaught:BackupFileValidator.kt$BackupFileValidator$e: Exception - TooGenericExceptionCaught:BackupRestoreJob.kt$BackupRestoreJob$e: Exception - TooGenericExceptionCaught:BackupRestorer.kt$BackupRestorer$e: Exception - TooGenericExceptionCaught:Bangumi.kt$Bangumi$e: Exception - TooGenericExceptionCaught:Bangumi.kt$Bangumi$e: Throwable - TooGenericExceptionCaught:BaseTracker.kt$BaseTracker$e: Exception - TooGenericExceptionCaught:BaseTracker.kt$BaseTracker$e: Throwable - TooGenericExceptionCaught:BrowseIcons.kt$e: Exception - TooGenericExceptionCaught:ChapterCache.kt$ChapterCache$e: Exception - TooGenericExceptionCaught:ChapterLoader.kt$ChapterLoader$e: Throwable - TooGenericExceptionCaught:ChapterRepositoryImpl.kt$ChapterRepositoryImpl$e: Exception - TooGenericExceptionCaught:CloseableExtensions.kt$closeException: Throwable - TooGenericExceptionCaught:CloseableExtensions.kt$e: Throwable - TooGenericExceptionCaught:CloudflareInterceptor.kt$CloudflareInterceptor$e: Exception - TooGenericExceptionCaught:ConfigureExhDialog.kt$e: Exception - TooGenericExceptionCaught:ContextExtensions.kt$e: Exception - TooGenericExceptionCaught:ContextExtensions.kt$e: Throwable - TooGenericExceptionCaught:CrashLogUtil.kt$CrashLogUtil$e: Throwable - TooGenericExceptionCaught:CrashlyticsPrinter.kt$CrashlyticsPrinter$t: Throwable - TooGenericExceptionCaught:CreateCategoryWithName.kt$CreateCategoryWithName$e: Exception - TooGenericExceptionCaught:CustomMangaRepositoryImpl.kt$CustomMangaRepositoryImpl$e: Exception - TooGenericExceptionCaught:DeleteCategory.kt$DeleteCategory$e: Exception - TooGenericExceptionCaught:DeleteTrack.kt$DeleteTrack$e: Exception - TooGenericExceptionCaught:DeviceUtil.kt$DeviceUtil$e: Exception - TooGenericExceptionCaught:DownloadCache.kt$DownloadCache$e: Throwable - TooGenericExceptionCaught:DownloadPendingDeleter.kt$DownloadPendingDeleter$e: Exception - TooGenericExceptionCaught:DownloadProvider.kt$DownloadProvider$e: Throwable - TooGenericExceptionCaught:DownloadStore.kt$DownloadStore$e: Exception - TooGenericExceptionCaught:Downloader.kt$Downloader$e: Exception - TooGenericExceptionCaught:Downloader.kt$Downloader$e: Throwable - TooGenericExceptionCaught:Downloader.kt$Downloader$error: Throwable - TooGenericExceptionCaught:EHNetworkLogging.kt$ex: Exception - TooGenericExceptionCaught:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$e: Exception - TooGenericExceptionCaught:EHentaiUpdateWorker.kt$EHentaiUpdateWorker$t: Throwable - TooGenericExceptionCaught:EXHMigrations.kt$EXHMigrations$e: Exception - TooGenericExceptionCaught:EXHMigrations.kt$EXHMigrations.MangaConfig.Companion$e: Exception - TooGenericExceptionCaught:EnhancedFilePrinter.kt$EnhancedFilePrinter.Writer$e: Exception - TooGenericExceptionCaught:ExceptionUtil.kt$t: Throwable - TooGenericExceptionCaught:ExtensionApi.kt$ExtensionApi$e: Throwable - TooGenericExceptionCaught:ExtensionDetailsScreenModel.kt$ExtensionDetailsScreenModel$e: Exception - TooGenericExceptionCaught:ExtensionInstallActivity.kt$ExtensionInstallActivity$error: Exception - TooGenericExceptionCaught:ExtensionInstaller.kt$ExtensionInstaller$e: Exception - TooGenericExceptionCaught:ExtensionLoader.kt$ExtensionLoader$e: Exception - TooGenericExceptionCaught:ExtensionLoader.kt$ExtensionLoader$e: Throwable - TooGenericExceptionCaught:ExtensionManager.kt$ExtensionManager$e: Exception - TooGenericExceptionCaught:FavoritesEntryRepositoryImpl.kt$FavoritesEntryRepositoryImpl$e: Exception - TooGenericExceptionCaught:FavoritesSyncHelper.kt$FavoritesSyncHelper$e: Exception - TooGenericExceptionCaught:FeedScreenModel.kt$FeedScreenModel$e: Exception - TooGenericExceptionCaught:GalleryAdder.kt$GalleryAdder$e: Exception - TooGenericExceptionCaught:GetChapter.kt$GetChapter$e: Exception - TooGenericExceptionCaught:GetChapterByUrl.kt$GetChapterByUrl$e: Exception - TooGenericExceptionCaught:GetChapterByUrlAndMangaId.kt$GetChapterByUrlAndMangaId$e: Exception - TooGenericExceptionCaught:GetChaptersByMangaId.kt$GetChaptersByMangaId$e: Exception - TooGenericExceptionCaught:GetFlatMetadataById.kt$GetFlatMetadataById$e: Exception - TooGenericExceptionCaught:GetManga.kt$GetManga$e: Exception - TooGenericExceptionCaught:GetMergedChaptersByMangaId.kt$GetMergedChaptersByMangaId$e: Exception - TooGenericExceptionCaught:GetMergedManga.kt$GetMergedManga$e: Exception - TooGenericExceptionCaught:GetMergedMangaById.kt$GetMergedMangaById$e: Exception - TooGenericExceptionCaught:GetMergedReferencesById.kt$GetMergedReferencesById$e: Exception - TooGenericExceptionCaught:GetPagePreviews.kt$GetPagePreviews$e: Exception - TooGenericExceptionCaught:GetTracks.kt$GetTracks$e: Exception - TooGenericExceptionCaught:GlobalExceptionHandler.kt$GlobalExceptionHandler.Companion$e: Exception - TooGenericExceptionCaught:GoogleDriveSyncService.kt$GoogleDriveService$e: Exception - TooGenericExceptionCaught:GoogleDriveSyncService.kt$GoogleDriveSyncService$e: Exception - TooGenericExceptionCaught:HistoryRepositoryImpl.kt$HistoryRepositoryImpl$e: Exception - TooGenericExceptionCaught:HttpPageLoader.kt$HttpPageLoader$e: Throwable - TooGenericExceptionCaught:ImageSaver.kt$ImageSaver$e: Exception - TooGenericExceptionCaught:ImageUtil.kt$ImageUtil$e: Exception - TooGenericExceptionCaught:InsertFeedSavedSearch.kt$InsertFeedSavedSearch$e: Exception - TooGenericExceptionCaught:InsertFlatMetadata.kt$InsertFlatMetadata$e: Exception - TooGenericExceptionCaught:InsertSavedSearch.kt$InsertSavedSearch$e: Exception - TooGenericExceptionCaught:InsertTrack.kt$InsertTrack$e: Exception - TooGenericExceptionCaught:Kavita.kt$Kavita$e: Exception - TooGenericExceptionCaught:KavitaApi.kt$KavitaApi$e: Exception - TooGenericExceptionCaught:Kitsu.kt$Kitsu$e: Exception - TooGenericExceptionCaught:Komga.kt$Komga$e: Exception - TooGenericExceptionCaught:KomgaApi.kt$KomgaApi$e: Exception - TooGenericExceptionCaught:LibrarySortMode.kt$LibrarySort.Companion$e: Exception - TooGenericExceptionCaught:LibraryUpdateJob.kt$LibraryUpdateJob$e: Exception - TooGenericExceptionCaught:LibraryUpdateJob.kt$LibraryUpdateJob$e: Throwable - TooGenericExceptionCaught:LocalSource.kt$LocalSource$e: Exception - TooGenericExceptionCaught:LocalSource.kt$LocalSource$e: Throwable - TooGenericExceptionCaught:MainActivity.kt$MainActivity$e: Exception - TooGenericExceptionCaught:MangaCoverFetcher.kt$MangaCoverFetcher$e: Exception - TooGenericExceptionCaught:MangaCoverScreenModel.kt$MangaCoverScreenModel$e: Exception - TooGenericExceptionCaught:MangaCoverScreenModel.kt$MangaCoverScreenModel$e: Throwable - TooGenericExceptionCaught:MangaMergeRepositoryImpl.kt$MangaMergeRepositoryImpl$e: Exception - TooGenericExceptionCaught:MangaRepositoryImpl.kt$MangaRepositoryImpl$e: Exception - TooGenericExceptionCaught:MangaScreen.kt$MangaScreen$e: Exception - TooGenericExceptionCaught:MangaScreenModel.kt$MangaScreenModel$e: Exception - TooGenericExceptionCaught:MangaScreenModel.kt$MangaScreenModel$e: Throwable - TooGenericExceptionCaught:MangaUpdates.kt$MangaUpdates$e: Exception - TooGenericExceptionCaught:MangaUpdatesApi.kt$MangaUpdatesApi$e: Exception - TooGenericExceptionCaught:MdUtil.kt$MdUtil.Companion$e: Exception - TooGenericExceptionCaught:MemAutoFlushingLookupTable.kt$MemAutoFlushingLookupTable$t: Throwable - TooGenericExceptionCaught:MergedSource.kt$MergedSource$e: Exception - TooGenericExceptionCaught:MetadataUpdateJob.kt$MetadataUpdateJob$e: Exception - TooGenericExceptionCaught:MetadataUpdateJob.kt$MetadataUpdateJob$e: Throwable - TooGenericExceptionCaught:MigrationListScreenModel.kt$MigrationListScreenModel$e: Exception - TooGenericExceptionCaught:MyAnimeList.kt$MyAnimeList$e: Exception - TooGenericExceptionCaught:MyAnimeList.kt$MyAnimeList$e: Throwable - TooGenericExceptionCaught:MyAnimeListApi.kt$MyAnimeListApi$e: Exception - TooGenericExceptionCaught:OkHttpExtensions.kt$<no name provided>$e: Exception - TooGenericExceptionCaught:OkHttpExtensions.kt$<no name provided>$error: Throwable - TooGenericExceptionCaught:OkHttpExtensions.kt$ex: Throwable - TooGenericExceptionCaught:OkHttpUtil.kt$t: Throwable - TooGenericExceptionCaught:OkioExtensions.kt$e: Exception - TooGenericExceptionCaught:PackageInstallerInstaller.kt$PackageInstallerInstaller$e: Exception - TooGenericExceptionCaught:PagePreviewCache.kt$PagePreviewCache$e: Exception - TooGenericExceptionCaught:PagePreviewFetcher.kt$PagePreviewFetcher$e: Exception - TooGenericExceptionCaught:Pager.kt$Pager$e: IndexOutOfBoundsException - TooGenericExceptionCaught:Pager.kt$Pager$e: NullPointerException - TooGenericExceptionCaught:PagerPageHolder.kt$PagerPageHolder$e: Exception - TooGenericExceptionCaught:PagerPageHolder.kt$PagerPageHolder$e: Throwable - TooGenericExceptionCaught:QueryPagingSource.kt$QueryPagingSource$e: Exception - TooGenericExceptionCaught:RarPageLoader.kt$RarPageLoader$e: Exception - TooGenericExceptionCaught:ReaderActivity.kt$ReaderActivity$e: ArrayIndexOutOfBoundsException - TooGenericExceptionCaught:ReaderViewModel.kt$ReaderViewModel$e: Exception - TooGenericExceptionCaught:ReaderViewModel.kt$ReaderViewModel$e: Throwable - TooGenericExceptionCaught:RecommendsPagingSource.kt$RecommendsPagingSource$e: Exception - TooGenericExceptionCaught:RefreshTracks.kt$RefreshTracks$e: Throwable - TooGenericExceptionCaught:RenameCategory.kt$RenameCategory$e: Exception - TooGenericExceptionCaught:ReorderCategory.kt$ReorderCategory$e: Exception - TooGenericExceptionCaught:RestoreBackupScreen.kt$RestoreBackupScreenModel$e: Exception - TooGenericExceptionCaught:RxCoroutineBridge.kt$e: Throwable - TooGenericExceptionCaught:SearchScreenModel.kt$SearchScreenModel$e: Exception - TooGenericExceptionCaught:SetMangaCategories.kt$SetMangaCategories$e: Exception - TooGenericExceptionCaught:SetReadStatus.kt$SetReadStatus$e: Exception - TooGenericExceptionCaught:SettingsAdvancedScreen.kt$SettingsAdvancedScreen$e: Throwable - TooGenericExceptionCaught:SettingsDataScreen.kt$SettingsDataScreen$e: Throwable - TooGenericExceptionCaught:SettingsDebugScreen.kt$SettingsDebugScreen$e: Exception - TooGenericExceptionCaught:SettingsEhScreen.kt$SettingsEhScreen$e: Exception - TooGenericExceptionCaught:SettingsMangadexScreen.kt$SettingsMangadexScreen$e: Exception - TooGenericExceptionCaught:SettingsTrackingScreen.kt$SettingsTrackingScreen$e: Throwable - TooGenericExceptionCaught:Shikimori.kt$Shikimori$e: Exception - TooGenericExceptionCaught:Shikimori.kt$Shikimori$e: Throwable - TooGenericExceptionCaught:ShizukuInstaller.kt$ShizukuInstaller$e: Exception - TooGenericExceptionCaught:SmartSearchScreenModel.kt$SmartSearchScreenModel$e: Exception - TooGenericExceptionCaught:SourceFeedScreenModel.kt$SourceFeedScreenModel$e: Exception - TooGenericExceptionCaught:SourcePagingSource.kt$SourcePagingSource$e: Exception - TooGenericExceptionCaught:Suwayomi.kt$Suwayomi$e: Exception - TooGenericExceptionCaught:SyncChapterProgressWithTrack.kt$SyncChapterProgressWithTrack$e: Throwable - TooGenericExceptionCaught:SyncDataJob.kt$SyncDataJob$e: Exception - TooGenericExceptionCaught:TrackChapter.kt$TrackChapter$e: Exception - TooGenericExceptionCaught:TrackInfoDialog.kt$TrackInfoDialogHomeScreen.Model$e: Exception - TooGenericExceptionCaught:TrackInfoDialog.kt$TrackerSearchScreen.Model$e: Throwable - TooGenericExceptionCaught:UncaughtExceptionInterceptor.kt$UncaughtExceptionInterceptor$e: Exception - TooGenericExceptionCaught:UpdateCategory.kt$UpdateCategory$e: Exception - TooGenericExceptionCaught:UpdateChapter.kt$UpdateChapter$e: Exception - TooGenericExceptionCaught:WebViewActivity.kt$WebViewActivity$e: Exception - TooGenericExceptionCaught:WebViewScreenModel.kt$WebViewScreenModel$e: Exception - TooGenericExceptionCaught:WebViewUtil.kt$WebViewUtil$e: Throwable - TooGenericExceptionCaught:WebtoonPageHolder.kt$WebtoonPageHolder$e: Throwable - TooGenericExceptionCaught:WidgetManager.kt$WidgetManager$e: Exception - TooGenericExceptionThrown:Anilist.kt$Anilist$throw Exception("$track not found on user library") - TooGenericExceptionThrown:Anilist.kt$Anilist$throw Exception("Unknown score type") - TooGenericExceptionThrown:AnilistApi.kt$AnilistApi$throw Exception("Could not find manga") - TooGenericExceptionThrown:AnilistInterceptor.kt$AnilistInterceptor$throw Exception("Not authenticated with Anilist") - TooGenericExceptionThrown:AppUpdateDownloadJob.kt$AppUpdateDownloadJob$throw Exception("Unsuccessful response") - TooGenericExceptionThrown:BangumiApi.kt$BangumiApi$throw Exception("Null Response") - TooGenericExceptionThrown:BangumiInterceptor.kt$BangumiInterceptor$throw Exception("Not authenticated with Bangumi") - TooGenericExceptionThrown:BilibiliHandler.kt$BilibiliHandler$throw Exception("Unknown chapter $chapterNumber") - TooGenericExceptionThrown:ChapterLoader.kt$ChapterLoader$throw Exception(context.stringResource(MR.strings.page_list_empty_error)) - TooGenericExceptionThrown:DownloadManager.kt$DownloadManager$throw Exception(context.stringResource(MR.strings.page_list_empty_error)) - TooGenericExceptionThrown:DownloadProvider.kt$DownloadProvider$throw Exception( context.stringResource( MR.strings.invalid_location, downloadsDir?.displayablePath ?: "", ), ) - TooGenericExceptionThrown:Downloader.kt$Downloader$throw Exception(context.stringResource(MR.strings.page_list_empty_error)) - TooGenericExceptionThrown:EHentai.kt$EHentai$throw Exception( "Invalid igneous cookie, try re-logging or finding a correct one to input in the login menu", ) - TooGenericExceptionThrown:EHentai.kt$EHentai$throw Exception("Exceeded page quota") - TooGenericExceptionThrown:EHentai.kt$EHentai$throw Exception("HTTP error ${response.code}", exception) - TooGenericExceptionThrown:EHentai.kt$EHentai$throw Exception("HTTP error ${response.code}", stacktrace) - TooGenericExceptionThrown:EHentai.kt$EHentai$throw Exception(it.text()) - TooGenericExceptionThrown:ExtensionLoader.kt$ExtensionLoader$throw Exception("Unknown source class type: ${obj.javaClass}") - TooGenericExceptionThrown:GoogleDriveSyncService.kt$GoogleDriveService$throw Exception(context.stringResource(MR.strings.google_drive_not_signed_in)) - TooGenericExceptionThrown:GoogleDriveSyncService.kt$GoogleDriveSyncService$throw Exception(context.stringResource(MR.strings.error_before_sync_gdrive, e.message ?: "Exception"), e) - TooGenericExceptionThrown:GoogleDriveSyncService.kt$GoogleDriveSyncService$throw Exception(context.stringResource(MR.strings.error_before_sync_gdrive, "Max retries reached.")) - TooGenericExceptionThrown:GoogleDriveSyncService.kt$GoogleDriveSyncService$throw Exception(context.stringResource(MR.strings.error_deleting_google_drive_lock_file), e) - TooGenericExceptionThrown:GoogleDriveSyncService.kt$GoogleDriveSyncService$throw Exception(context.stringResource(MR.strings.error_uploading_sync_data) + ": ${e.message}", e) - TooGenericExceptionThrown:GoogleDriveSyncService.kt$GoogleDriveSyncService$throw Exception(context.stringResource(MR.strings.google_drive_not_signed_in)) - TooGenericExceptionThrown:GoogleDriveSyncService.kt$GoogleDriveSyncService$throw Exception(e.message, e) - TooGenericExceptionThrown:HttpSource.kt$HttpSource$throw RuntimeException(e) - TooGenericExceptionThrown:KitsuApi.kt$KitsuApi$throw Exception("Could not find manga") - TooGenericExceptionThrown:KitsuInterceptor.kt$KitsuInterceptor$throw Exception("Not authenticated with Kitsu") - TooGenericExceptionThrown:KitsuModels.kt$KitsuLibManga$throw Exception("Unknown status") - TooGenericExceptionThrown:KitsuModels.kt$throw Exception("Unknown status") - TooGenericExceptionThrown:LocalSource.kt$LocalSource$throw Exception(context.stringResource(MR.strings.chapter_not_found)) - TooGenericExceptionThrown:LocalSource.kt$LocalSource$throw Exception(context.stringResource(MR.strings.local_invalid_format)) - TooGenericExceptionThrown:MangaPlusHandler.kt$MangaPlusHandler$throw Exception("error getting images") - TooGenericExceptionThrown:MangaUpdates.kt$MangaUpdates$throw Throwable("Unable to login") - TooGenericExceptionThrown:MdList.kt$MdList$throw Exception("not used") - TooGenericExceptionThrown:PageHandler.kt$PageHandler$throw Exception("${chapter.scanlator} not supported") - TooGenericExceptionThrown:ReaderViewModel.kt$ReaderViewModel$throw Exception("Not an image") - TooGenericExceptionThrown:RecommendsPagingSource.kt$Anilist$throw Exception("'$queryParam' not found") - TooGenericExceptionThrown:ShikimoriApi.kt$ShikimoriApi$throw Exception("Too much mangas in response") - TooGenericExceptionThrown:ShikimoriInterceptor.kt$ShikimoriInterceptor$throw Exception("Not authenticated with Shikimori") - TooGenericExceptionThrown:ShizukuInstaller.kt$ShizukuInstaller$throw RuntimeException("Failed to commit install session $sessionId") - TooGenericExceptionThrown:ShizukuInstaller.kt$ShizukuInstaller$throw RuntimeException("Failed to create install session") - TooGenericExceptionThrown:ShizukuInstaller.kt$ShizukuInstaller$throw RuntimeException("Failed to write APK to session $sessionId") - TooGenericExceptionThrown:TrackInfoDialog.kt$TrackInfoDialogHomeScreen.Model$throw Exception() - TooGenericExceptionThrown:WhatsNewDialog.kt$throw Exception("Exception on ${version.versionName}:$index:$charIndex", e) - TooManyFunctions:AndroidDatabaseHandler.kt$AndroidDatabaseHandler : DatabaseHandler - TooManyFunctions:AndroidSourceManager.kt$AndroidSourceManager : SourceManager - TooManyFunctions:Anilist.kt$Anilist : BaseTrackerDeletableTracker - TooManyFunctions:AnilistApi.kt$AnilistApi - TooManyFunctions:Bangumi.kt$Bangumi : BaseTracker - TooManyFunctions:BaseTracker.kt$BaseTracker : Tracker - TooManyFunctions:BilibiliHandler.kt$BilibiliHandler - TooManyFunctions:BrowseSourceScreenModel.kt$BrowseSourceScreenModel : StateScreenModel - TooManyFunctions:CategoryRepositoryImpl.kt$CategoryRepositoryImpl : CategoryRepository - TooManyFunctions:CbzCrypto.kt$CbzCrypto - TooManyFunctions:ChapterRepository.kt$ChapterRepository - TooManyFunctions:ChapterRepositoryImpl.kt$ChapterRepositoryImpl : ChapterRepository - TooManyFunctions:ChapterTransition.kt$eu.kanade.presentation.reader.ChapterTransition.kt - TooManyFunctions:DatabaseHandler.kt$DatabaseHandler - TooManyFunctions:DebugFunctions.kt$DebugFunctions - TooManyFunctions:DelegatedHttpSource.kt$DelegatedHttpSource : HttpSource - TooManyFunctions:DohProviders.kt$eu.kanade.tachiyomi.network.DohProviders.kt - TooManyFunctions:DownloadCache.kt$DownloadCache - TooManyFunctions:DownloadManager.kt$DownloadManager - TooManyFunctions:DownloadPreferences.kt$DownloadPreferences - TooManyFunctions:DownloadProvider.kt$DownloadProvider - TooManyFunctions:DownloadQueueScreenModel.kt$DownloadQueueScreenModel : ScreenModel - TooManyFunctions:Downloader.kt$Downloader - TooManyFunctions:EHentai.kt$EHentai : HttpSourceMetadataSourceUrlImportableSourceNamespaceSourcePagePreviewSource - TooManyFunctions:EnhancedHttpSource.kt$EnhancedHttpSource : HttpSource - TooManyFunctions:EpubFile.kt$EpubFile : Closeable - TooManyFunctions:ExtensionLoader.kt$ExtensionLoader - TooManyFunctions:ExtensionManager.kt$ExtensionManager - TooManyFunctions:ExtensionsScreenModel.kt$ExtensionsScreenModel : StateScreenModel - TooManyFunctions:FeedSavedSearchRepository.kt$FeedSavedSearchRepository - TooManyFunctions:FeedSavedSearchRepositoryImpl.kt$FeedSavedSearchRepositoryImpl : FeedSavedSearchRepository - TooManyFunctions:FeedScreenModel.kt$FeedScreenModel : StateScreenModel - TooManyFunctions:HttpSource.kt$HttpSource : CatalogueSource - TooManyFunctions:ImageUtil.kt$ImageUtil - TooManyFunctions:Kavita.kt$Kavita : BaseTrackerEnhancedTracker - TooManyFunctions:Kitsu.kt$Kitsu : BaseTrackerDeletableTracker - TooManyFunctions:Komga.kt$Komga : BaseTrackerEnhancedTracker - TooManyFunctions:LibraryPreferences.kt$LibraryPreferences - TooManyFunctions:LibraryScreenModel.kt$LibraryScreenModel : StateScreenModel - TooManyFunctions:LibraryUpdateJob.kt$LibraryUpdateJob : CoroutineWorker - TooManyFunctions:LocalSource.kt$LocalSource : CatalogueSourceUnmeteredSource - TooManyFunctions:Logging.kt$exh.log.Logging.kt - TooManyFunctions:MangaCoverFetcher.kt$MangaCoverFetcher : Fetcher - TooManyFunctions:MangaDex.kt$MangaDex : DelegatedHttpSourceMetadataSourceUrlImportableSourceFollowsSourceLoginSourceRandomMangaSourceNamespaceSource - TooManyFunctions:MangaDexAuthService.kt$MangaDexAuthService - TooManyFunctions:MangaDexService.kt$MangaDexService - TooManyFunctions:MangaMergeRepository.kt$MangaMergeRepository - TooManyFunctions:MangaMergeRepositoryImpl.kt$MangaMergeRepositoryImpl : MangaMergeRepository - TooManyFunctions:MangaMetadataRepository.kt$MangaMetadataRepository - TooManyFunctions:MangaMetadataRepositoryImpl.kt$MangaMetadataRepositoryImpl : MangaMetadataRepository - TooManyFunctions:MangaRepository.kt$MangaRepository - TooManyFunctions:MangaRepositoryImpl.kt$MangaRepositoryImpl : MangaRepository - TooManyFunctions:MangaRestorer.kt$MangaRestorer - TooManyFunctions:MangaScreen.kt$MangaScreen : ScreenAssistContentScreen - TooManyFunctions:MangaScreenModel.kt$MangaScreenModel : StateScreenModel - TooManyFunctions:MangaType.kt$exh.util.MangaType.kt - TooManyFunctions:MangaUpdates.kt$MangaUpdates : BaseTrackerDeletableTracker - TooManyFunctions:MdList.kt$MdList : BaseTracker - TooManyFunctions:MdUtil.kt$MdUtil$Companion - TooManyFunctions:MergedSource.kt$MergedSource : HttpSource - TooManyFunctions:MigrationListScreenModel.kt$MigrationListScreenModel : ScreenModel - TooManyFunctions:MyAnimeList.kt$MyAnimeList : BaseTrackerDeletableTracker - TooManyFunctions:MyAnimeListApi.kt$MyAnimeListApi - TooManyFunctions:NotificationReceiver.kt$NotificationReceiver : BroadcastReceiver - TooManyFunctions:NotificationReceiver.kt$NotificationReceiver$Companion - TooManyFunctions:PagePreviewFetcher.kt$PagePreviewFetcher : Fetcher - TooManyFunctions:PagerPageHolder.kt$PagerPageHolder : ReaderPageImageViewPositionableView - TooManyFunctions:PagerViewer.kt$PagerViewer : Viewer - TooManyFunctions:ParsedHttpSource.kt$ParsedHttpSource : HttpSource - TooManyFunctions:RaisedSearchMetadata.kt$RaisedSearchMetadata - TooManyFunctions:ReaderActivity.kt$ReaderActivity : BaseActivity - TooManyFunctions:ReaderPageImageView.kt$ReaderPageImageView : FrameLayout - TooManyFunctions:ReaderPreferences.kt$ReaderPreferences - TooManyFunctions:ReaderViewModel.kt$ReaderViewModel : ViewModel - TooManyFunctions:SecurityPreferences.kt$SecurityPreferences - TooManyFunctions:SettingsAdvancedScreen.kt$SettingsAdvancedScreen : SearchableSettings - TooManyFunctions:SettingsDataScreen.kt$SettingsDataScreen : SearchableSettings - TooManyFunctions:SettingsEhScreen.kt$SettingsEhScreen : SearchableSettings - TooManyFunctions:SettingsItems.kt$tachiyomi.presentation.core.components.SettingsItems.kt - TooManyFunctions:SettingsReaderScreen.kt$SettingsReaderScreen : SearchableSettings - TooManyFunctions:SharedPreferencesDataStore.kt$SharedPreferencesDataStore : PreferenceDataStore - TooManyFunctions:Shikimori.kt$Shikimori : BaseTrackerDeletableTracker - TooManyFunctions:SourceFeedScreenModel.kt$SourceFeedScreenModel : StateScreenModel - TooManyFunctions:SourcePreferences.kt$SourcePreferences - TooManyFunctions:Suwayomi.kt$Suwayomi : BaseTrackerEnhancedTracker - TooManyFunctions:SyncPreferences.kt$SyncPreferences - TooManyFunctions:SyncService.kt$SyncService - TooManyFunctions:Tracker.kt$Tracker - TooManyFunctions:UiPreferences.kt$UiPreferences - TooManyFunctions:UnsortedPreferences.kt$UnsortedPreferences - TooManyFunctions:UpdatesScreenModel.kt$UpdatesScreenModel : StateScreenModel - TooManyFunctions:WebtoonPageHolder.kt$WebtoonPageHolder : WebtoonBaseHolder - TooManyFunctions:WebtoonRecyclerView.kt$WebtoonRecyclerView : RecyclerView - TooManyFunctions:WebtoonViewer.kt$WebtoonViewer : Viewer - TopLevelPropertyNaming:App.kt$private const val ACTION_DISABLE_INCOGNITO_MODE = "tachi.action.DISABLE_INCOGNITO_MODE" - TopLevelPropertyNaming:AppBar.kt$const val SEARCH_DEBOUNCE_MILLIS = 250L - TopLevelPropertyNaming:AppModule.kt$// SY --> private const val LEGACY_DATABASE_NAME = "tachiyomi.db" - TopLevelPropertyNaming:BackupCreateJob.kt$private const val IS_AUTO_BACKUP_KEY = "is_auto_backup" // Boolean - TopLevelPropertyNaming:BackupCreateJob.kt$private const val LOCATION_URI_KEY = "location_uri" // String - TopLevelPropertyNaming:BackupCreateJob.kt$private const val OPTIONS_KEY = "options" // BooleanArray - TopLevelPropertyNaming:BackupCreateJob.kt$private const val TAG_AUTO = "BackupCreator" - TopLevelPropertyNaming:BackupCreateJob.kt$private const val TAG_MANUAL = "$TAG_AUTO:manual" - TopLevelPropertyNaming:BackupRestoreJob.kt$private const val LOCATION_URI_KEY = "location_uri" // String - TopLevelPropertyNaming:BackupRestoreJob.kt$private const val OPTIONS_KEY = "options" // BooleanArray - TopLevelPropertyNaming:BackupRestoreJob.kt$private const val SYNC_KEY = "sync" // Boolean - TopLevelPropertyNaming:CbzCrypto.kt$private const val ALIAS_CBZ = "cbzPw" - TopLevelPropertyNaming:CbzCrypto.kt$private const val ALIAS_SQL = "sqlPw" - TopLevelPropertyNaming:CbzCrypto.kt$private const val BLOCK_MODE = KeyProperties.BLOCK_MODE_CBC - TopLevelPropertyNaming:CbzCrypto.kt$private const val BUFFER_SIZE = 2048 - TopLevelPropertyNaming:CbzCrypto.kt$private const val CRYPTO_SETTINGS = "$ALGORITHM/$BLOCK_MODE/$PADDING" - TopLevelPropertyNaming:CbzCrypto.kt$private const val IV_SIZE = 16 - TopLevelPropertyNaming:CbzCrypto.kt$private const val KEY_SIZE = 256 - TopLevelPropertyNaming:CbzCrypto.kt$private const val SQL_PASSWORD_LENGTH = 32 - TopLevelPropertyNaming:ChapterCache.kt$/** Application cache version. */ private const val PARAMETER_APP_VERSION = 1 - TopLevelPropertyNaming:ChapterCache.kt$/** The maximum number of bytes this cache should use to store. */ private const val PARAMETER_CACHE_SIZE = 100L * 1024 * 1024 - TopLevelPropertyNaming:ChapterCache.kt$/** The number of values per cache entry. Must be positive. */ private const val PARAMETER_VALUE_COUNT = 1 - TopLevelPropertyNaming:ColorFilterPage.kt$private const val ALPHA_MASK: Long = 0xFF000000 - TopLevelPropertyNaming:ColorFilterPage.kt$private const val BLUE_MASK: Long = 0x000000FF - TopLevelPropertyNaming:ColorFilterPage.kt$private const val GREEN_MASK: Long = 0x0000FF00 - TopLevelPropertyNaming:ColorFilterPage.kt$private const val RED_MASK: Long = 0x00FF0000 - TopLevelPropertyNaming:ComicInfo.kt$const val COMIC_INFO_FILE = "ComicInfo.xml" - TopLevelPropertyNaming:DatabaseAdapter.kt$private const val LIST_OF_STRINGS_SEPARATOR = ", " - TopLevelPropertyNaming:DisplayExtensions.kt$// make sure icons on the nav rail fit private const val TABLET_UI_MIN_SCREEN_WIDTH_LANDSCAPE_DP = 600 - TopLevelPropertyNaming:DisplayExtensions.kt$// some tablets have screen width like 711dp = 1600px / 2.25 private const val TABLET_UI_MIN_SCREEN_WIDTH_PORTRAIT_DP = 700 - TopLevelPropertyNaming:DisplayExtensions.kt$private const val TABLET_UI_REQUIRED_SCREEN_WIDTH_DP = 720 - TopLevelPropertyNaming:DohProviders.kt$/** * Based on https://github.com/square/okhttp/blob/ef5d0c83f7bbd3a0c0534e7ca23cbc4ee7550f3b/okhttp-dnsoverhttps/src/test/java/okhttp3/dnsoverhttps/DohProviders.java */ const val PREF_DOH_CLOUDFLARE = 1 - TopLevelPropertyNaming:DohProviders.kt$const val PREF_DOH_360 = 7 - TopLevelPropertyNaming:DohProviders.kt$const val PREF_DOH_ADGUARD = 3 - TopLevelPropertyNaming:DohProviders.kt$const val PREF_DOH_ALIDNS = 5 - TopLevelPropertyNaming:DohProviders.kt$const val PREF_DOH_CONTROLD = 10 - TopLevelPropertyNaming:DohProviders.kt$const val PREF_DOH_DNSPOD = 6 - TopLevelPropertyNaming:DohProviders.kt$const val PREF_DOH_GOOGLE = 2 - TopLevelPropertyNaming:DohProviders.kt$const val PREF_DOH_MULLVAD = 9 - TopLevelPropertyNaming:DohProviders.kt$const val PREF_DOH_NJALLA = 11 - TopLevelPropertyNaming:DohProviders.kt$const val PREF_DOH_QUAD101 = 8 - TopLevelPropertyNaming:DohProviders.kt$const val PREF_DOH_QUAD9 = 4 - TopLevelPropertyNaming:DohProviders.kt$const val PREF_DOH_SHECAN = 12 - TopLevelPropertyNaming:Downloader.kt$// Arbitrary minimum required space to start a download: 200 MB private const val MIN_DISK_SPACE = 200L * 1024 * 1024 - TopLevelPropertyNaming:ExtensionInstallActivity.kt$private const val INSTALL_REQUEST_CODE = 500 - TopLevelPropertyNaming:GLUtil.kt$// Safe minimum default size private const val IMAGE_MAX_BITMAP_DIMENSION = 2048 - TopLevelPropertyNaming:GuidesStep.kt$const val GETTING_STARTED_URL = "https://mihon.app/docs/guides/getting-started" - TopLevelPropertyNaming:KomgaApi.kt$private const val READLIST_API = "/api/v1/readlists" - TopLevelPropertyNaming:LibraryUpdateNotifier.kt$private const val MANGA_PER_SOURCE_QUEUE_WARNING_THRESHOLD = 60 - TopLevelPropertyNaming:LibraryUpdateNotifier.kt$private const val NOTIF_ICON_SIZE = 192 - TopLevelPropertyNaming:LibraryUpdateNotifier.kt$private const val NOTIF_MAX_CHAPTERS = 5 - TopLevelPropertyNaming:LibraryUpdateNotifier.kt$private const val NOTIF_TITLE_MAX_LEN = 45 - TopLevelPropertyNaming:LocalCoverManager.kt$private const val COVER_ARCHIVE_NAME = "cover.cbi" - TopLevelPropertyNaming:LocalCoverManager.kt$private const val DEFAULT_COVER_NAME = "cover.jpg" - TopLevelPropertyNaming:MainActivity.kt$// Splash screen private const val SPLASH_MIN_DURATION = 500 // ms - TopLevelPropertyNaming:MainActivity.kt$private const val SPLASH_EXIT_ANIM_DURATION = 400L // ms - TopLevelPropertyNaming:MainActivity.kt$private const val SPLASH_MAX_DURATION = 5000 // ms - TopLevelPropertyNaming:PackageInstallerInstaller.kt$private const val INSTALL_ACTION = "PackageInstallerInstaller.INSTALL_ACTION" - TopLevelPropertyNaming:ReaderNavigationOverlayView.kt$private const val FADE_DURATION = 1000L - TopLevelPropertyNaming:ReaderPageImageView.kt$private const val MAX_ZOOM_SCALE = 5F - TopLevelPropertyNaming:ShizukuInstaller.kt$private const val SHIZUKU_PERMISSION_REQUEST_CODE = 14045 - TopLevelPropertyNaming:SourceIds.kt$// Lewd source IDs const val LEWD_SOURCE_SERIES = 6900L - TopLevelPropertyNaming:SourceIds.kt$const val EH_SOURCE_ID = LEWD_SOURCE_SERIES + 1 - TopLevelPropertyNaming:SourceIds.kt$const val EIGHTMUSES_SOURCE_ID = 1802675169972965535 - TopLevelPropertyNaming:SourceIds.kt$const val EXH_SOURCE_ID = LEWD_SOURCE_SERIES + 2 - TopLevelPropertyNaming:SourceIds.kt$const val HBROWSE_SOURCE_ID = 1401584337232758222 - TopLevelPropertyNaming:SourceIds.kt$const val MERGED_SOURCE_ID = LEWD_SOURCE_SERIES + 69 - TopLevelPropertyNaming:SourceIds.kt$const val PURURIN_SOURCE_ID = 2221515250486218861 - TopLevelPropertyNaming:SourceIds.kt$const val TSUMINO_SOURCE_ID = 6707338697138388238 - TopLevelPropertyNaming:StorageManager.kt$// SY --> private const val LOGS_PATH = "logs" - TopLevelPropertyNaming:StorageManager.kt$private const val AUTOMATIC_BACKUPS_PATH = "autobackup" - TopLevelPropertyNaming:StorageManager.kt$private const val DOWNLOADS_PATH = "downloads" - TopLevelPropertyNaming:StorageManager.kt$private const val LOCAL_SOURCE_PATH = "local" - TopLevelPropertyNaming:SuwayomiApi.kt$private const val ADDRESS_DEFAULT = "" - TopLevelPropertyNaming:SuwayomiApi.kt$private const val ADDRESS_TITLE = "Server URL Address" - TopLevelPropertyNaming:SuwayomiApi.kt$private const val LOGIN_DEFAULT = "" - TopLevelPropertyNaming:SuwayomiApi.kt$private const val LOGIN_TITLE = "Login (Basic Auth)" - TopLevelPropertyNaming:SuwayomiApi.kt$private const val PASSWORD_DEFAULT = "" - TopLevelPropertyNaming:SuwayomiApi.kt$private const val PASSWORD_TITLE = "Password (Basic Auth)" - TopLevelPropertyNaming:Version.kt$const val syDebugVersion: String = "0" - TopLevelPropertyNaming:WebtoonAdapter.kt$/** * View holder type of a chapter page view. */ private const val PAGE_VIEW = 0 - TopLevelPropertyNaming:WebtoonAdapter.kt$/** * View holder type of a chapter transition view. */ private const val TRANSITION_VIEW = 1 - TopLevelPropertyNaming:WebtoonRecyclerView.kt$private const val ANIMATOR_DURATION_TIME = 200 - TopLevelPropertyNaming:WebtoonRecyclerView.kt$private const val DEFAULT_RATE = 1f - TopLevelPropertyNaming:WebtoonRecyclerView.kt$private const val MAX_SCALE_RATE = 3f - TopLevelPropertyNaming:WebtoonRecyclerView.kt$private const val MIN_RATE = 0.5f - TopLevelPropertyNaming:WhatsNewDialog.kt$private const val bullet = "\u2022" - TopLevelPropertyNaming:__Assets.kt$private var __AllAssets: ____KtList<ImageVector>? = null - TopLevelPropertyNaming:__EhAssets.kt$private var __AllAssets: ____KtList<ImageVector>? = null - TopLevelPropertyNaming:__Ehassets.kt$private var __AllAssets: ____KtList<ImageVector>? = null - TopLevelPropertyNaming:__Exh.kt$private var __AllAssets: ____KtList<ImageVector>? = null - UnstableCollections:Commons.kt$List<Category> - UnstableCollections:Commons.kt$Set<String> - UnstableCollections:GlobalSearchCardRow.kt$List<Manga> - UnstableCollections:LibraryComfortableGrid.kt$List<LibraryItem> - UnstableCollections:LibraryComfortableGrid.kt$List<LibraryManga> - UnstableCollections:LibraryCompactGrid.kt$List<LibraryItem> - UnstableCollections:LibraryCompactGrid.kt$List<LibraryManga> - UnstableCollections:LibraryContent.kt$List<Category> - UnstableCollections:LibraryContent.kt$List<LibraryManga> - UnstableCollections:LibraryList.kt$List<LibraryItem> - UnstableCollections:LibraryList.kt$List<LibraryManga> - UnstableCollections:LibraryPager.kt$List<LibraryManga> - UnstableCollections:LibraryTabs.kt$List<Category> - UnstableCollections:ListPreferenceWidget.kt$Map<out T, String> - UnstableCollections:MangaScreen.kt$List<ChapterList.Item> - UnstableCollections:MultiSelectListPreferenceWidget.kt$Set<String> - UnstableCollections:PreferenceScreen.kt$List<Preference> - UnstableCollections:SettingsDownloadScreen.kt$SettingsDownloadScreen$List<Category> - UnstableCollections:SettingsLibraryScreen.kt$SettingsLibraryScreen$List<Category> - UnstableCollections:TrackInfoDialogHome.kt$List<TrackItem> - UnstableCollections:TrackInfoDialogSelector.kt$Map<Long, StringResource?> - UnstableCollections:TriStateListDialog.kt$List<T> - UnstableCollections:UpdatesScreen.kt$List<UpdatesItem> - UnstableCollections:WebViewScreenContent.kt$Map<String, String> - UnusedParameter:EditMangaDialog.kt$context: Context - UnusedParameter:MergedSource.kt$MergedSource$dedupe: Boolean = true - UnusedParameter:MergedSource.kt$MergedSource$editScanlators: Boolean = false - UnusedParameter:UpdatesRepositoryImpl.kt$UpdatesRepositoryImpl$dateUpload: Long - UnusedPrivateMember:AppThemePreferenceWidget.kt$@PreviewLightDark @Composable private fun AppThemesListPreview() - UnusedPrivateMember:ChapterTransition.kt$@PreviewLightDark @Composable private fun TransitionTextLongTitlePreview() - UnusedPrivateMember:ChapterTransition.kt$@PreviewLightDark @Composable private fun TransitionTextNoNextPreview() - UnusedPrivateMember:ChapterTransition.kt$@PreviewLightDark @Composable private fun TransitionTextNoPreviousPreview() - UnusedPrivateMember:ChapterTransition.kt$@PreviewLightDark @Composable private fun TransitionTextPreview() - UnusedPrivateMember:ChapterTransition.kt$@PreviewLightDark @Composable private fun TransitionTextWithGapPreview() - UnusedPrivateMember:CrashScreen.kt$@PreviewLightDark @Composable private fun CrashScreenPreview() - UnusedPrivateMember:EmptyScreen.kt$@PreviewLightDark @Composable private fun NoActionPreview() - UnusedPrivateMember:EmptyScreen.kt$@PreviewLightDark @Composable private fun WithActionPreview() - UnusedPrivateMember:ExhUtils.kt$@Composable @PreviewLightDark private fun ExhUtilsPreview() - UnusedPrivateMember:GuidesStep.kt$@PreviewLightDark @Composable private fun GuidesStepPreview() - UnusedPrivateMember:HistoryDialogs.kt$@PreviewLightDark @Composable private fun HistoryDeleteDialogPreview() - UnusedPrivateMember:HistoryItem.kt$@PreviewLightDark @Composable private fun HistoryItemPreviews( @PreviewParameter(HistoryWithRelationsProvider::class) historyWithRelations: HistoryWithRelations, ) - UnusedPrivateMember:InfoScreen.kt$@PreviewLightDark @Composable private fun InfoScaffoldPreview() - UnusedPrivateMember:InfoWidget.kt$@PreviewLightDark @Composable private fun InfoWidgetPreview() - UnusedPrivateMember:LibraryBadges.kt$@PreviewLightDark @Composable private fun BadgePreview() - UnusedPrivateMember:MissingChapterCountListItem.kt$@PreviewLightDark @Composable private fun Preview() - UnusedPrivateMember:ModeSelectionDialog.kt$@PreviewLightDark @Composable private fun Preview() - UnusedPrivateMember:NewUpdateScreen.kt$@PreviewLightDark @Composable private fun NewUpdateScreenPreview() - UnusedPrivateMember:OrientationSelectDialog.kt$@PreviewLightDark @Composable private fun DialogContentPreview() - UnusedPrivateMember:PageIndicatorText.kt$@PreviewLightDark @Composable private fun PageIndicatorTextPreview() - UnusedPrivateMember:PermissionStep.kt$PermissionStep$@Composable private fun SectionHeader( text: String, modifier: Modifier = Modifier, ) - UnusedPrivateMember:ReadingModeSelectDialog.kt$@PreviewLightDark @Composable private fun DialogContentPreview() - UnusedPrivateMember:SettingsAdvancedScreen.kt$SettingsAdvancedScreen$@Composable private fun getDownloaderGroup(): Preference.PreferenceGroup - UnusedPrivateMember:SwitchPreferenceWidget.kt$@PreviewLightDark @Composable private fun SwitchPreferenceWidgetPreview() - UnusedPrivateMember:TextPreferenceWidget.kt$@PreviewLightDark @Composable private fun TextPreferenceWidgetPreview() - UnusedPrivateMember:TrackInfoDialogHome.kt$@PreviewLightDark @Composable private fun TrackInfoDialogHomePreviews( @PreviewParameter(TrackInfoDialogHomePreviewProvider::class) content: @Composable () -> Unit, ) - UnusedPrivateMember:TrackInfoDialogSelector.kt$@PreviewLightDark @Composable private fun TrackStatusSelectorPreviews() - UnusedPrivateMember:TrackLogoIcon.kt$@PreviewLightDark @Composable private fun TrackLogoIconPreviews( @PreviewParameter(TrackLogoIconPreviewProvider::class) tracker: Tracker, ) - UnusedPrivateMember:TrackerSearch.kt$@PreviewLightDark @Composable private fun TrackerSearchPreviews( @PreviewParameter(TrackerSearchPreviewProvider::class) content: @Composable () -> Unit, ) - UnusedPrivateProperty:ChapterCache.kt$/** The maximum number of bytes this cache should use to store. */ private const val PARAMETER_CACHE_SIZE = 100L * 1024 * 1024 - UnusedPrivateProperty:FavoritesSyncHelper.kt$FavoritesSyncHelper$i - UnusedPrivateProperty:FeedScreenModel.kt$FeedScreenModel$private val updateManga: UpdateManga = Injekt.get() - UnusedPrivateProperty:GalleryAdder.kt$GalleryAdder$i - UnusedPrivateProperty:JavaScriptEngine.kt$JavaScriptEngine$context: Context - UnusedPrivateProperty:LibraryUpdateJob.kt$LibraryUpdateJob.Companion$private const val MANGA_PER_SOURCE_QUEUE_WARNING_THRESHOLD = 60 - UnusedPrivateProperty:MetadataUpdateJob.kt$MetadataUpdateJob.Companion$private const val MANGA_PER_SOURCE_QUEUE_WARNING_THRESHOLD = 60 - UnusedPrivateProperty:PageHandler.kt$PageHandler$private val mdList: MdList - UnusedPrivateProperty:PageHandler.kt$PageHandler$private val preferences: TrackPreferences - UnusedPrivateProperty:SourceFeedScreenModel.kt$SourceFeedScreenModel$private val updateManga: UpdateManga = Injekt.get() - UseCheckOrError:CatalogueSource.kt$CatalogueSource$throw IllegalStateException("Not used") - UseCheckOrError:MainActivity.kt$MainActivity$throw IllegalStateException("Can only be called on main thread!") - UseCheckOrError:MangaScreenModel.kt$MangaScreenModel$throw IllegalStateException() - UseCheckOrError:PackageInstallerInstaller.kt$PackageInstallerInstaller$throw IllegalStateException() - UseCheckOrError:ReadingMode.kt$ReadingMode.Companion$throw IllegalStateException("Preference value must be resolved: $preference") - UseCheckOrError:ShizukuInstaller.kt$ShizukuInstaller$throw IllegalStateException() - UseCheckOrError:Source.kt$Source$throw IllegalStateException("Not used") - UseCheckOrError:SourceFilterDialog.kt$throw IllegalStateException("Unknown TriState state: $this") - UseCheckOrError:TransactionContext.kt$TransactionElement$throw IllegalStateException("Transaction was never started or was already released") - UtilityClassWithPublicConstructor:MdUtil.kt$MdUtil - VariableNaming:Chapter.kt$Chapter$var date_fetch: Long - VariableNaming:Chapter.kt$Chapter$var last_modified: Long - VariableNaming:Chapter.kt$Chapter$var last_page_read: Int - VariableNaming:Chapter.kt$Chapter$var manga_id: Long? - VariableNaming:Chapter.kt$Chapter$var source_order: Int - VariableNaming:LocalSource.kt$LocalSource$private val LATEST_FILTERS = FilterList(OrderBy.Latest(context)) - VariableNaming:LocalSource.kt$LocalSource$private val POPULAR_FILTERS = FilterList(OrderBy.Popular(context)) - VariableNaming:SChapter.kt$SChapter$var chapter_number: Float - VariableNaming:SChapter.kt$SChapter$var date_upload: Long - VariableNaming:SManga.kt$SManga$var thumbnail_url: String? - VariableNaming:SManga.kt$SManga$var update_strategy: UpdateStrategy - VariableNaming:Track.kt$Track$var finished_reading_date: Long - VariableNaming:Track.kt$Track$var last_chapter_read: Double - VariableNaming:Track.kt$Track$var library_id: Long? - VariableNaming:Track.kt$Track$var manga_id: Long - VariableNaming:Track.kt$Track$var remote_id: Long - VariableNaming:Track.kt$Track$var started_reading_date: Long - VariableNaming:Track.kt$Track$var total_chapters: Long - VariableNaming:Track.kt$Track$var tracker_id: Long - VariableNaming:Track.kt$Track$var tracking_url: String - VariableNaming:TrackSearch.kt$TrackSearch$var cover_url: String = "" - VariableNaming:TrackSearch.kt$TrackSearch$var publishing_status: String = "" - VariableNaming:TrackSearch.kt$TrackSearch$var publishing_type: String = "" - VariableNaming:TrackSearch.kt$TrackSearch$var start_date: String = "" - Wrapping:LibraryScreenModel.kt$LibraryScreenModel$-> - - diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml deleted file mode 100644 index d1a3e3dbb..000000000 --- a/config/detekt/detekt.yml +++ /dev/null @@ -1,24 +0,0 @@ -naming: - FunctionNaming: - functionPattern: '[a-z][a-zA-Z0-9]*' - ignoreAnnotated: [ 'Composable' ] - TopLevelPropertyNaming: - constantPattern: '[A-Z][A-Za-z0-9]*' - -complexity: - LongMethod: - ignoreAnnotated: [ 'Composable' ] - LongParameterList: - ignoreDefaultParameters: true - ignoreAnnotated: [ 'Composable' ] - -style: - MagicNumber: - ignorePropertyDeclaration: true - ignoreCompanionObjectPropertyDeclaration: true - ReturnCount: - excludeGuardClauses: true - SerialVersionUIDInSerializableClass: - active: false - UnusedPrivateMember: - ignoreAnnotated: [ 'Preview' ] diff --git a/core/common/src/main/kotlin/eu/kanade/tachiyomi/network/interceptor/CloudflareInterceptor.kt b/core/common/src/main/kotlin/eu/kanade/tachiyomi/network/interceptor/CloudflareInterceptor.kt index 3522dea4f..ada29f4d1 100644 --- a/core/common/src/main/kotlin/eu/kanade/tachiyomi/network/interceptor/CloudflareInterceptor.kt +++ b/core/common/src/main/kotlin/eu/kanade/tachiyomi/network/interceptor/CloudflareInterceptor.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.network.interceptor -import android.annotation.SuppressLint import android.content.Context import android.webkit.WebResourceError import android.webkit.WebResourceRequest @@ -57,7 +56,6 @@ class CloudflareInterceptor( } } - @SuppressLint("SetJavaScriptEnabled") private fun resolveWithWebView(originalRequest: Request, oldCookie: Cookie?) { // We need to lock this thread until the WebView finds the challenge solution url, because // OkHttp doesn't support asynchronous interceptors. diff --git a/core/common/src/main/kotlin/eu/kanade/tachiyomi/network/interceptor/SpecificHostRateLimitInterceptor.kt b/core/common/src/main/kotlin/eu/kanade/tachiyomi/network/interceptor/SpecificHostRateLimitInterceptor.kt index 9f860faab..10cd149cd 100644 --- a/core/common/src/main/kotlin/eu/kanade/tachiyomi/network/interceptor/SpecificHostRateLimitInterceptor.kt +++ b/core/common/src/main/kotlin/eu/kanade/tachiyomi/network/interceptor/SpecificHostRateLimitInterceptor.kt @@ -51,7 +51,6 @@ fun OkHttpClient.Builder.rateLimitHost( * @param permits [Int] Number of requests allowed within a period of units. * @param period [Duration] The limiting duration. Defaults to 1.seconds. */ -@Suppress("UNUSED") fun OkHttpClient.Builder.rateLimitHost( httpUrl: HttpUrl, permits: Int, diff --git a/data/src/main/java/tachiyomi/data/manga/MangaMapper.kt b/data/src/main/java/tachiyomi/data/manga/MangaMapper.kt index 40e4c5313..be0255398 100644 --- a/data/src/main/java/tachiyomi/data/manga/MangaMapper.kt +++ b/data/src/main/java/tachiyomi/data/manga/MangaMapper.kt @@ -6,7 +6,6 @@ import tachiyomi.domain.manga.model.Manga import tachiyomi.view.LibraryView object MangaMapper { - @Suppress("LongParameterList") fun mapManga( id: Long, source: Long, @@ -65,7 +64,6 @@ object MangaMapper { version = version, ) - @Suppress("LongParameterList") fun mapLibraryManga( id: Long, source: Long, diff --git a/data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt b/data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt index bdc9a3533..5687a0a15 100644 --- a/data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt +++ b/data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt @@ -75,7 +75,6 @@ class MangaRepositoryImpl( } } - @Suppress("MagicNumber") override suspend fun getUpcomingManga(statuses: Set): Flow> { val epochMillis = LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toEpochSecond() * 1000 return handler.subscribeToList { diff --git a/domain/src/main/java/mihon/domain/extensionrepo/interactor/CreateExtensionRepo.kt b/domain/src/main/java/mihon/domain/extensionrepo/interactor/CreateExtensionRepo.kt index 62ea5b2a0..021a902aa 100644 --- a/domain/src/main/java/mihon/domain/extensionrepo/interactor/CreateExtensionRepo.kt +++ b/domain/src/main/java/mihon/domain/extensionrepo/interactor/CreateExtensionRepo.kt @@ -49,7 +49,6 @@ class CreateExtensionRepo( * * @param repo Extension Repo holder for passing to DB/Error Dialog */ - @Suppress("ReturnCount") private suspend fun handleInsertionError(repo: ExtensionRepo): Result { val repoExists = repository.getRepo(repo.baseUrl) if (repoExists != null) { diff --git a/domain/src/main/java/mihon/domain/extensionrepo/service/ExtensionRepoService.kt b/domain/src/main/java/mihon/domain/extensionrepo/service/ExtensionRepoService.kt index 8262961a7..27e00f3a2 100644 --- a/domain/src/main/java/mihon/domain/extensionrepo/service/ExtensionRepoService.kt +++ b/domain/src/main/java/mihon/domain/extensionrepo/service/ExtensionRepoService.kt @@ -17,7 +17,6 @@ class ExtensionRepoService( ) { val client = networkHelper.client - @Suppress("TooGenericExceptionCaught") suspend fun fetchRepoDetails( repo: String, ): ExtensionRepo? { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8f37838b6..073bfadac 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,8 +8,6 @@ shizuku_version = "12.2.0" sqldelight = "2.0.2" sqlite = "2.4.0" voyager = "1.0.0" -detekt = "1.23.6" -detektCompose = "0.4.4" [libraries] desugar = "com.android.tools:desugar_jdk_libs:2.0.4" @@ -102,10 +100,6 @@ voyager-screenmodel = { module = "cafe.adriel.voyager:voyager-screenmodel", vers voyager-tab-navigator = { module = "cafe.adriel.voyager:voyager-tab-navigator", version.ref = "voyager" } voyager-transitions = { module = "cafe.adriel.voyager:voyager-transitions", version.ref = "voyager" } -detekt-gradlePlugin = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" } -detekt-rules-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" } -detekt-rules-compose = { module = "io.nlopez.compose.rules:detekt", version.ref = "detektCompose" } - [bundles] okhttp = ["okhttp-core", "okhttp-logging", "okhttp-brotli", "okhttp-dnsoverhttps"] js-engine = ["quickjs-android"] diff --git a/presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Scaffold.kt b/presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Scaffold.kt index 6420084a7..16063f621 100644 --- a/presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Scaffold.kt +++ b/presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Scaffold.kt @@ -152,7 +152,6 @@ fun Scaffold( * @param bottomBar the content to place at the bottom of the [Scaffold], on top of the * [content], typically a [NavigationBar]. */ -@Suppress("CyclomaticComplexMethod") @OptIn(ExperimentalMaterial3Api::class) @Composable private fun ScaffoldLayout(