diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml index dbad61141..d67f55689 100644 --- a/.github/workflows/build_pull_request.yml +++ b/.github/workflows/build_pull_request.yml @@ -36,10 +36,11 @@ jobs: java-version: 17 distribution: adopt - - name: Build app and run unit tests + - name: Set up gradle uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 - with: - arguments: detekt assembleStandardRelease testReleaseUnitTest testStandardReleaseUnitTest + + - name: Build app and run unit tests + run: ./gradlew assembleStandardRelease testReleaseUnitTest testStandardReleaseUnitTest - name: Upload APK uses: actions/upload-artifact@v4 @@ -51,4 +52,4 @@ jobs: uses: actions/upload-artifact@v4 with: name: mapping-${{ github.sha }} - path: app/build/outputs/mapping/standardRelease \ No newline at end of file + path: app/build/outputs/mapping/standardRelease diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index da8caaf88..c7ae34ae7 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -33,10 +33,11 @@ jobs: java-version: 17 distribution: adopt - - name: Build app and run unit tests + - name: Set up gradle uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 - with: - arguments: detekt assembleStandardRelease testReleaseUnitTest testStandardReleaseUnitTest + + - name: Build app and run unit tests + run: ./gradlew assembleStandardRelease testReleaseUnitTest testStandardReleaseUnitTest - name: Upload APK uses: actions/upload-artifact@v4 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index db282fdf1..ac547fe31 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/F32UjdJZrR) for online help and to ask questions while developing. 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 0cb117cc7..e566b820b 100644 --- a/app/src/main/java/eu/kanade/presentation/util/Navigator.kt +++ b/app/src/main/java/eu/kanade/presentation/util/Navigator.kt @@ -33,7 +33,6 @@ import uy.kohesive.injekt.api.get /** * For invoking back press to the parent activity */ -@SuppressLint("ComposeCompositionLocalUsage") val LocalBackPress: ProvidableCompositionLocal<(() -> Unit)?> = staticCompositionLocalOf { null } private val uiPreferences: UiPreferences = Injekt.get() diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt index 26d3c5c9f..82a225809 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/App.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/App.kt @@ -165,7 +165,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 347e17a0f..02c3dcdef 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 = emptyList(), 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 465bf8734..1d183ca34 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.items.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 f5ba1dcb8..6688ed63a 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 @@ -5,10 +5,7 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import tachiyomi.domain.entries.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 e959c3e6c..026b888dd 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 @@ -45,7 +45,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( private val url: String?, private val isLibraryManga: Boolean, 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 986138ee6..000000000 --- a/buildSrc/src/main/kotlin/mihon.code.detekt.gradle.kts +++ /dev/null @@ -1,47 +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) -} - -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 a1ef5419e..000000000 --- a/config/detekt/baseline.xml +++ /dev/null @@ -1,2332 +0,0 @@ - - - - - ComplexCondition:AnimeScreenModel.kt$AnimeScreenModel$(selectedItem.selected && selected) || (!selectedItem.selected && !selected) - ComplexCondition:ExternalIntents.kt$ExternalIntents$episode.seen && (!preserveWatchPos || (preserveWatchPos && isEpisodeWatched)) - ComplexCondition:ExternalIntents.kt$ExternalIntents$tracker != null && tracker.isLoggedIn && tracker is AnimeTracker && episodeNumber > track.lastEpisodeSeen - ComplexCondition:GestureHandler.kt$GestureHandler$SeekState.mode == SeekState.LOCKED || SeekState.mode != SeekState.DOUBLE_TAP || activity.player.timePos == null || activity.player.duration == null - ComplexCondition:MainActivity.kt$MainActivity$( currentScreen is BrowseMangaSourceScreen || (currentScreen is MangaScreen && currentScreen.fromSource) ) || ( currentScreen is BrowseAnimeSourceScreen || (currentScreen is AnimeScreen && currentScreen.fromSource) ) - ComplexCondition:MangaScreenModel.kt$MangaScreenModel$(selectedItem.selected && selected) || (!selectedItem.selected && !selected) - 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 - ComposableParamOrder:ChapterSettingsDialog.kt$ChapterSettingsDialog - ComposableParamOrder:CommonEntryItem.kt$EntryComfortableGridItem - ComposableParamOrder:CommonEntryItem.kt$EntryListItem - ComposableParamOrder:EpisodeSettingsDialog.kt$EpisodeSettingsDialog - ComposableParamOrder:LazyLibraryGrid.kt$LazyLibraryGrid - ComposableParamOrder:PlayerDialog.kt$PlayerDialog - ComposableParamOrder:PlayerSettingsScreenModel.kt$PlayerSettingsScreenModel$ToggleableRow - ComposableParamOrder:StorageScreenContent.kt$StorageScreenContent - 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$ALAnime$val average_score: Int - ConstructorParameterNaming:AnilistModels.kt$ALAnime$val image_url_lge: String - ConstructorParameterNaming:AnilistModels.kt$ALAnime$val publishing_status: String - ConstructorParameterNaming:AnilistModels.kt$ALAnime$val remote_id: Long - ConstructorParameterNaming:AnilistModels.kt$ALAnime$val start_date_fuzzy: Long - ConstructorParameterNaming:AnilistModels.kt$ALAnime$val title_user_pref: String - ConstructorParameterNaming:AnilistModels.kt$ALAnime$val total_episodes: Long - 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$ALUserAnime$val completed_date_fuzzy: Long - ConstructorParameterNaming:AnilistModels.kt$ALUserAnime$val episodes_seen: Int - ConstructorParameterNaming:AnilistModels.kt$ALUserAnime$val library_id: Long - ConstructorParameterNaming:AnilistModels.kt$ALUserAnime$val list_status: String - ConstructorParameterNaming:AnilistModels.kt$ALUserAnime$val score_raw: Int - ConstructorParameterNaming:AnilistModels.kt$ALUserAnime$val start_date_fuzzy: 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:AnimeExtensionDetailsScreenModel.kt$AnimeExtensionDetailsScreenModel.State$private val _sources: ImmutableList<AnimeExtensionSourceItem>? = null - ConstructorParameterNaming:BackupAnime.kt$BackupAnime$@ProtoNumber(103) var viewer_flags: Int = 0 - 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: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:MangaExtensionDetailsScreenModel.kt$MangaExtensionDetailsScreenModel.State$private val _sources: ImmutableList<MangaExtensionSourceItem>? = null - 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: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 - ConstructorParameterNaming:SimklModels.kt$OAuth$val access_token: String - ConstructorParameterNaming:SimklModels.kt$OAuth$val token_type: String - ConstructorParameterNaming:WebViewScreenModel.kt$WebViewScreenModel$private val AnimeSourceManager: AnimeSourceManager = Injekt.get() - ConstructorParameterNaming:WebViewScreenModel.kt$WebViewScreenModel$private val MangaSourceManager: MangaSourceManager = Injekt.get() - ContentTrailingLambda:TabbedDialog.kt$content - ContentTrailingLambda:TrackInfoDialogSelector.kt$content - CyclomaticComplexMethod:AniChartApi.kt$AniChartApi$internal suspend fun loadAiringTime( anime: Anime, trackItems: List<AnimeTrackItem>, manualFetch: Boolean, ): Pair<Int, Long> - CyclomaticComplexMethod:AnilistModels.kt$fun DomainAnimeTrack.toAnilistScore(): String - CyclomaticComplexMethod:AnilistModels.kt$fun DomainMangaTrack.toAnilistScore(): String - CyclomaticComplexMethod:AnimeDownloadCache.kt$AnimeDownloadCache$private fun renewCache() - CyclomaticComplexMethod:AnimeDownloader.kt$AnimeDownloader$private fun ffmpegDownload( download: AnimeDownload, tmpDir: UniFile, filename: String, ): UniFile - CyclomaticComplexMethod:AnimeDownloader.kt$AnimeDownloader$private suspend fun attemptDownload( download: AnimeDownload, tmpDir: UniFile, filename: String, safe: Boolean, ): UniFile - CyclomaticComplexMethod:AnimeDownloader.kt$AnimeDownloader$private suspend fun httpDownload( download: AnimeDownload, tmpDir: UniFile, filename: String, threadNumber: Int, safeDownload: Boolean, ): UniFile - CyclomaticComplexMethod:AnimeExtensionLoader.kt$AnimeExtensionLoader$private fun loadExtension(context: Context, extensionInfo: AnimeExtensionInfo): AnimeLoadResult - CyclomaticComplexMethod:AnimeExtensionsScreen.kt$@Composable private fun AnimeExtensionContent( state: AnimeExtensionsScreenModel.State, contentPadding: PaddingValues, onLongClickItem: (AnimeExtension) -> Unit, onOpenWebView: (AnimeExtension.Available) -> Unit, onClickItemCancel: (AnimeExtension) -> Unit, onInstallExtension: (AnimeExtension.Available) -> Unit, onUninstallExtension: (AnimeExtension) -> Unit, onUpdateExtension: (AnimeExtension.Installed) -> Unit, onTrustExtension: (AnimeExtension.Untrusted) -> Unit, onOpenExtension: (AnimeExtension.Installed) -> Unit, onClickUpdateAll: () -> Unit, ) - CyclomaticComplexMethod:AnimeExtensionsScreen.kt$@Composable private fun AnimeExtensionItemContent( extension: AnimeExtension, installStep: InstallStep, modifier: Modifier = Modifier, ) - CyclomaticComplexMethod:AnimeInfoHeader.kt$@Composable private fun ColumnScope.AnimeContentInfo( title: String, doSearch: (query: String, global: Boolean) -> Unit, author: String?, artist: String?, status: Long, sourceName: String, isStubSource: Boolean, textAlign: TextAlign? = LocalTextStyle.current.textAlign, ) - CyclomaticComplexMethod:AnimeLibraryScreenModel.kt$AnimeLibraryScreenModel$private fun AnimeLibraryMap.applySort( // Map<MangaId, List<Track>> trackMap: Map<Long, List<AnimeTrack>>, ): AnimeLibraryMap - CyclomaticComplexMethod:AnimeLibraryScreenModel.kt$AnimeLibraryScreenModel$private suspend fun AnimeLibraryMap.applyFilters( trackMap: Map<Long, List<AnimeTrack>>, loggedInTrackers: Map<Long, TriState>, ): AnimeLibraryMap - CyclomaticComplexMethod:AnimeLibraryTab.kt$AnimeLibraryTab$@OptIn(ExperimentalMaterial3Api::class) @Composable override fun Content() - CyclomaticComplexMethod:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob$private suspend fun addAnimeToQueue(categoryId: Long) - CyclomaticComplexMethod:AnimeScreen.kt$AnimeScreen$@Composable override fun Content() - CyclomaticComplexMethod:AnimeScreenModel.kt$AnimeScreenModel$fun toggleSelection( item: EpisodeList.Item, selected: Boolean, userSelected: Boolean = false, fromLongPress: Boolean = false, ) - CyclomaticComplexMethod:AnimeSourcesScreenModel.kt$AnimeSourcesScreenModel$private fun collectLatestAnimeSources(sources: List<AnimeSource>) - CyclomaticComplexMethod:AnimeUpdatesScreenModel.kt$AnimeUpdatesScreenModel$fun toggleSelection( item: AnimeUpdatesItem, selected: Boolean, userSelected: Boolean = false, fromLongPress: Boolean = false, ) - CyclomaticComplexMethod:BrowseAnimeSourceScreen.kt$@Composable fun BrowseAnimeSourceContent( source: AnimeSource?, animeList: LazyPagingItems<StateFlow<Anime>>, columns: GridCells, displayMode: LibraryDisplayMode, snackbarHostState: SnackbarHostState, contentPadding: PaddingValues, onWebViewClick: () -> Unit, onHelpClick: () -> Unit, onLocalAnimeSourceHelpClick: () -> Unit, onAnimeClick: (Anime) -> Unit, onAnimeLongClick: (Anime) -> Unit, ) - CyclomaticComplexMethod:BrowseAnimeSourceScreen.kt$BrowseAnimeSourceScreen$@Composable override fun Content() - CyclomaticComplexMethod:BrowseAnimeSourceScreenModel.kt$BrowseAnimeSourceScreenModel$fun searchGenre(genreName: String) - CyclomaticComplexMethod:BrowseMangaSourceScreen.kt$@Composable fun BrowseSourceContent( source: MangaSource?, mangaList: LazyPagingItems<StateFlow<Manga>>, columns: GridCells, displayMode: LibraryDisplayMode, snackbarHostState: SnackbarHostState, contentPadding: PaddingValues, onWebViewClick: () -> Unit, onHelpClick: () -> Unit, onLocalSourceHelpClick: () -> Unit, onMangaClick: (Manga) -> Unit, onMangaLongClick: (Manga) -> Unit, ) - CyclomaticComplexMethod:BrowseMangaSourceScreen.kt$BrowseMangaSourceScreen$@Composable override fun Content() - CyclomaticComplexMethod:BrowseMangaSourceScreenModel.kt$BrowseMangaSourceScreenModel$fun searchGenre(genreName: String) - CyclomaticComplexMethod:DownloadsTab.kt$DownloadsTab$@Composable override fun Content() - CyclomaticComplexMethod:EntryBottomActionMenu.kt$@Composable fun EntryBottomActionMenu( visible: Boolean, isManga: Boolean, modifier: Modifier = Modifier, onBookmarkClicked: (() -> Unit)? = null, onRemoveBookmarkClicked: (() -> Unit)? = null, onMarkAsViewedClicked: (() -> Unit)? = null, onMarkAsUnviewedClicked: (() -> Unit)? = null, onMarkPreviousAsViewedClicked: (() -> Unit)? = null, onDownloadClicked: (() -> Unit)? = null, onDeleteClicked: (() -> Unit)? = null, onExternalClicked: (() -> Unit)? = null, onInternalClicked: (() -> Unit)? = null, ) - CyclomaticComplexMethod:GestureHandler.kt$GestureHandler$override fun onScroll( e1: MotionEvent?, e2: MotionEvent, distanceX: Float, distanceY: Float, ): Boolean - CyclomaticComplexMethod:GetAnimeSourcesWithFavoriteCount.kt$GetAnimeSourcesWithFavoriteCount$private fun sortFn( direction: SetMigrateSorting.Direction, sorting: SetMigrateSorting.Mode, ): java.util.Comparator<Pair<AnimeSource, Long>> - CyclomaticComplexMethod:GetMangaSourcesWithFavoriteCount.kt$GetMangaSourcesWithFavoriteCount$private fun sortFn( direction: SetMigrateSorting.Direction, sorting: SetMigrateSorting.Mode, ): java.util.Comparator<Pair<Source, Long>> - CyclomaticComplexMethod:HomeScreen.kt$HomeScreen$@Composable override fun Content() - CyclomaticComplexMethod:MainActivity.kt$MainActivity$override fun onCreate(savedInstanceState: Bundle?) - CyclomaticComplexMethod:MainActivity.kt$MainActivity$private fun handleIntentAction(intent: Intent, navigator: Navigator): Boolean - CyclomaticComplexMethod:MangaDownloadCache.kt$MangaDownloadCache$private fun renewCache() - CyclomaticComplexMethod:MangaExtensionLoader.kt$MangaExtensionLoader$private fun loadMangaExtension(context: Context, extensionInfo: MangaExtensionInfo): MangaLoadResult - CyclomaticComplexMethod:MangaExtensionsScreen.kt$@Composable private fun ExtensionContent( state: MangaExtensionsScreenModel.State, contentPadding: PaddingValues, onLongClickItem: (MangaExtension) -> Unit, onOpenWebView: (MangaExtension.Available) -> Unit, onClickItemCancel: (MangaExtension) -> Unit, onInstallExtension: (MangaExtension.Available) -> Unit, onUninstallExtension: (MangaExtension) -> Unit, onUpdateExtension: (MangaExtension.Installed) -> Unit, onTrustExtension: (MangaExtension.Untrusted) -> Unit, onOpenExtension: (MangaExtension.Installed) -> Unit, onClickUpdateAll: () -> Unit, ) - CyclomaticComplexMethod:MangaExtensionsScreen.kt$@Composable private fun ExtensionItemContent( extension: MangaExtension, installStep: InstallStep, 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:MangaLibraryScreenModel.kt$MangaLibraryScreenModel$private fun MangaLibraryMap.applySort( // Map<MangaId, List<Track>> trackMap: Map<Long, List<MangaTrack>>, ): MangaLibraryMap - CyclomaticComplexMethod:MangaLibraryScreenModel.kt$MangaLibraryScreenModel$private suspend fun MangaLibraryMap.applyFilters( trackMap: Map<Long, List<MangaTrack>>, loggedInTrackers: Map<Long, TriState>, ): MangaLibraryMap - CyclomaticComplexMethod:MangaLibraryTab.kt$MangaLibraryTab$@OptIn(ExperimentalMaterial3Api::class) @Composable override fun Content() - CyclomaticComplexMethod:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob$private suspend fun addMangaToQueue(categoryId: Long) - 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:MangaSourcesScreenModel.kt$MangaSourcesScreenModel$private fun collectLatestSources(sources: List<Source>) - CyclomaticComplexMethod:MangaUpdatesScreenModel.kt$MangaUpdatesScreenModel$fun toggleSelection( item: MangaUpdatesItem, selected: Boolean, userSelected: Boolean = false, fromLongPress: Boolean = false, ) - CyclomaticComplexMethod:MigrateAnimeDialog.kt$MigrateAnimeDialogScreenModel$private suspend fun migrateAnimeInternal( oldSource: AnimeSource?, newSource: AnimeSource, oldAnime: Anime, newAnime: Anime, sourceEpisodes: List<SEpisode>, replace: Boolean, flags: Int, ) - CyclomaticComplexMethod:MigrateMangaDialog.kt$MigrateMangaDialogScreenModel$private suspend fun migrateMangaInternal( oldSource: MangaSource?, newSource: MangaSource, oldManga: Manga, newManga: Manga, sourceChapters: List<SChapter>, replace: Boolean, flags: Int, ) - CyclomaticComplexMethod:Migrations.kt$Migrations$fun upgrade( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, playerPreferences: PlayerPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, ): Boolean - CyclomaticComplexMethod:NotificationReceiver.kt$NotificationReceiver$override fun onReceive(context: Context, intent: Intent) - CyclomaticComplexMethod:PagerViewer.kt$PagerViewer$override fun handleKeyEvent(event: KeyEvent): Boolean - CyclomaticComplexMethod:PagerViewerAdapter.kt$PagerViewerAdapter$fun setChapters(chapters: ViewerChapters, forceTransition: Boolean) - CyclomaticComplexMethod:PlayerActivity.kt$PlayerActivity$@SuppressLint("ClickableViewAccessibility") override fun onCreate(savedInstanceState: Bundle?) - CyclomaticComplexMethod:PlayerActivity.kt$PlayerActivity$@SuppressLint("SourceLockedOrientationActivity") internal suspend fun fileLoaded() - CyclomaticComplexMethod:PlayerActivity.kt$PlayerActivity$fun doubleTapSeek( time: Int, event: MotionEvent? = null, isDoubleTap: Boolean = true, videoChapterText: String? = null, chapterSeek: String? = null, ) - CyclomaticComplexMethod:PlayerActivity.kt$PlayerActivity$private fun updateChapters(stamps: List<Stamp>? = null, duration: Int? = null) - CyclomaticComplexMethod:PlayerViewModel.kt$PlayerViewModel$private fun filterEpisodeList(episodes: List<Episode>): List<Episode> - CyclomaticComplexMethod:PreferenceItem.kt$@Composable internal fun PreferenceItem( item: Preference.PreferenceItem<*>, highlightKey: String?, ) - CyclomaticComplexMethod:ReaderActivity.kt$ReaderActivity$override fun onCreate(savedInstanceState: Bundle?) - CyclomaticComplexMethod:ReaderActivity.kt$ReaderActivity$private fun initializeMenu() - CyclomaticComplexMethod:SyncChaptersWithSource.kt$SyncChaptersWithSource$suspend fun await( rawSourceChapters: List<SChapter>, manga: Manga, source: MangaSource, manualFetch: Boolean = false, fetchWindow: Pair<Long, Long> = Pair(0, 0), ): List<Chapter> - CyclomaticComplexMethod:SyncEpisodesWithSource.kt$SyncEpisodesWithSource$suspend fun await( rawSourceEpisodes: List<SEpisode>, anime: Anime, source: AnimeSource, manualFetch: Boolean = false, fetchWindow: Pair<Long, Long> = Pair(0, 0), ): List<Episode> - CyclomaticComplexMethod:TriStateListDialog.kt$@SuppressLint("ComposeParameterOrder") @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:WebtoonRecyclerView.kt$WebtoonRecyclerView.Detector$override fun onTouchEvent(ev: MotionEvent): Boolean - CyclomaticComplexMethod:WebtoonViewer.kt$WebtoonViewer$override fun handleKeyEvent(event: KeyEvent): Boolean - DestructuringDeclarationWithTooManyEntries:AnimeExtensionsScreenModel.kt$AnimeExtensionsScreenModel$(_updates, _installed, _available, _untrusted) - DestructuringDeclarationWithTooManyEntries:AnimeInfoHeader.kt$(shrunk, expanded, actual, scrim) - DestructuringDeclarationWithTooManyEntries:MangaExtensionsScreenModel.kt$MangaExtensionsScreenModel$(_updates, _installed, _available, _untrusted) - DestructuringDeclarationWithTooManyEntries:MangaInfoHeader.kt$(shrunk, expanded, actual, scrim) - EmptyCatchBlock:RarPageLoader.kt$RarPageLoader${ } - EmptyFunctionBlock:IgnoreFirstSpinnerListener.kt$IgnoreFirstSpinnerListener${ } - EmptyFunctionBlock:PlayerObserver.kt$PlayerObserver${} - EmptyFunctionBlock:SimpleSeekBarListener.kt$SimpleSeekBarListener${ } - ExplicitItLambdaParameter:AnimeDownloader.kt$AnimeDownloader${ it: AnimeDownload -> it.source !is UnmeteredSource } - ExplicitItLambdaParameter:AnimeLibraryTab.kt$AnimeLibraryTab${ it: LibraryAnime -> scope.launchIO { val episode = screenModel.getNextUnseenEpisode(it.anime) if (episode != null) openEpisode(episode) } Unit } - ExplicitItLambdaParameter:ColorFilterPage.kt${ index, it -> FilterChip( selected = colorFilterMode == index, onClick = { screenModel.preferences.colorFilterMode().set(index) }, label = { Text(stringResource(it.first)) }, ) } - ExplicitItLambdaParameter:MangaDownloader.kt$MangaDownloader${ it: MangaDownload -> it.source !is UnmeteredSource } - ExplicitItLambdaParameter:MangaLibraryTab.kt$MangaLibraryTab${ 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:PlayerActivity.kt$PlayerActivity${ i, it -> if (i == 0 && it.time < 1.0) { VideoChapter( it.index, it.title, 0.0, ) } else { it } } - ExplicitItLambdaParameter:PlayerActivity.kt$PlayerActivity${ i, it -> val startTime = if (i == 0 && it.interval.startTime < 1.0) { 0.0 } else { it.interval.startTime } val startChapter = VideoChapter( index = -2, // Index -2 is used to indicate that this is an AniSkip chapter title = it.skipType.getString(), time = startTime, ) val nextStart = sortedAniskipStamps.getOrNull(i + 1)?.interval?.startTime val isNotLastChapter = abs(it.interval.endTime - (duration?.toDouble() ?: -2.0)) > 1.0 val isNotAdjacent = nextStart == null || (abs(it.interval.endTime - nextStart) > 1.0) if (isNotLastChapter && isNotAdjacent) { val endChapter = VideoChapter( index = -1, title = null, time = it.interval.endTime, ) return@mapIndexed listOf(startChapter, endChapter) } else { listOf(startChapter) } } - 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 = 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) } - ForEachOnRange:EntryBottomActionMenu.kt$0..<5 - ForEachOnRange:EntryBottomActionMenu.kt$0..<9 - ForbiddenComment:AddAnimeTracks.kt$AddAnimeTracks$// TODO: merge into [SyncChapterProgressWithTrack]? - ForbiddenComment:AddAnimeTracks.kt$AddAnimeTracks$// TODO: update all trackers based on common data - ForbiddenComment:AddMangaTracks.kt$AddMangaTracks$// TODO: merge into [SyncChapterProgressWithTrack]? - ForbiddenComment:AddMangaTracks.kt$AddMangaTracks$// TODO: update all trackers based on common data - ForbiddenComment:Anime.kt$// TODO: move these into the domain model - ForbiddenComment:AnimeCoverScreenModel.kt$AnimeCoverScreenModel$// TODO: Handle animated cover - ForbiddenComment:AnimeDownloader.kt$AnimeDownloader$// TODO: show warnings in stable - ForbiddenComment:AnimeDownloader.kt$AnimeDownloader$// TODO: support other file formats!! - ForbiddenComment:AnimeInfoHeader.kt$// TODO: show something better when using custom interval - ForbiddenComment:AnimeLibrarySettingsDialog.kt$// TODO: re-enable when custom intervals are ready for stable - ForbiddenComment:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob$// TODO: surface skipped reasons to user? - ForbiddenComment:AnimeTracker.kt$AnimeTracker$// TODO: Store all scores as 10 point in the future maybe? - ForbiddenComment:AnimeTracker.kt$AnimeTracker$// TODO: move this to an interactor, and update all trackers based on common data - ForbiddenComment:BackupRestorer.kt$BackupRestorer$// TODO: optionally trigger online library + tracker update - ForbiddenComment:BangumiApi.kt$BangumiApi$// TODO: get user readed chapter here - ForbiddenComment:BrowseTab.kt$BrowseTab$// TODO: Find a way to let it open Global Anime/Manga Search depending on what Tab(e.g. Anime/Manga Source Tab) is open - ForbiddenComment:CategoryDialogs.kt$// TODO: https://issuetracker.google.com/issues/204502668 - ForbiddenComment:Chapter.kt$// TODO: Remove when all deps are migrated - ForbiddenComment:DisplayExtensions.kt$// TODO: move the logic to `isTabletUi()` when main activity is rewritten in Compose - ForbiddenComment:Episode.kt$// TODO: Remove when all deps are migrated - ForbiddenComment:ExtensionReposDialogs.kt$// TODO: https://issuetracker.google.com/issues/204502668 - ForbiddenComment:GlobalAnimeSearchToolbar.kt$// TODO: make this UX better; it only applies when triggering a new search - ForbiddenComment:GlobalMangaSearchToolbar.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:LibraryTabs.kt$// TODO: use default when width is fixed upstream - 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:MangaLibrarySettingsDialog.kt$// TODO: re-enable when custom intervals are ready for stable - ForbiddenComment:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob$// TODO: surface skipped reasons to user? - ForbiddenComment:MangaLibraryUpdateNotifier.kt$MangaLibraryUpdateNotifier.Companion$// TODO: Change when implemented on Aniyomi website - ForbiddenComment:MangaTracker.kt$MangaTracker$// TODO: Store all scores as 10 point in the future maybe? - ForbiddenComment:PictureInPictureHandler.kt$// TODO: https://developer.android.com/develop/ui/views/picture-in-picture#setautoenterenabled - ForbiddenComment:PlayerActivity.kt$PlayerActivity$// TODO: I think this is a bad hack. - ForbiddenComment:PlayerActivity.kt$PlayerActivity$// TODO: Move into function once compose is implemented - ForbiddenComment:PlayerActivity.kt$PlayerActivity$// TODO: exception java.util.ConcurrentModificationException: - ForbiddenComment:PlayerDialog.kt$// TODO: (Merge_Change) stringResource "MR.strings.action_ok" to be replaced with - ForbiddenComment:PlayerSettingsSheet.kt$// TODO: (Merge_Change) below two Columns to be switched to using 'SettingsChipRow' - ForbiddenComment:PlayerSettingsSheet.kt$// TODO: Shift to MPV-Lib - 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 - FunctionNaming:AnimeDownloader.kt$AnimeDownloader$private fun _clearQueue() - FunctionNaming:MangaDownloader.kt$MangaDownloader$private fun _clearQueue() - FunctionParameterNaming:AnimeScreen.kt$AnimeScreen$anime_: Anime? - FunctionParameterNaming:AnimeScreen.kt$AnimeScreen$source_: AnimeSource? - FunctionParameterNaming:MangaScreen.kt$MangaScreen$manga_: Manga? - FunctionParameterNaming:MangaScreen.kt$MangaScreen$source_: MangaSource? - FunctionParameterNaming:ShikimoriApi.kt$ShikimoriApi$user_id: String - ImplicitDefaultLocale:AnimeScreen.kt$String.format( "%d:%02d", TimeUnit.MILLISECONDS.toMinutes(milliseconds), TimeUnit.MILLISECONDS.toSeconds(milliseconds) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(milliseconds)), ) - ImplicitDefaultLocale:AnimeScreen.kt$String.format( "%d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(milliseconds), TimeUnit.MILLISECONDS.toMinutes(milliseconds) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(milliseconds)), TimeUnit.MILLISECONDS.toSeconds(milliseconds) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(milliseconds)), ) - ImplicitDefaultLocale:AnimeScreen.kt$String.format( "Airing in %02dd %02dh %02dm %02ds", TimeUnit.MILLISECONDS.toDays(milliseconds), TimeUnit.MILLISECONDS.toHours(milliseconds) - TimeUnit.DAYS.toHours(TimeUnit.MILLISECONDS.toDays(milliseconds)), TimeUnit.MILLISECONDS.toMinutes(milliseconds) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(milliseconds)), TimeUnit.MILLISECONDS.toSeconds(milliseconds) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(milliseconds)), ) - ImplicitDefaultLocale:AnimeUpdatesUiItem.kt$String.format( "%d:%02d", TimeUnit.MILLISECONDS.toMinutes(milliseconds), TimeUnit.MILLISECONDS.toSeconds(milliseconds) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(milliseconds)), ) - ImplicitDefaultLocale:AnimeUpdatesUiItem.kt$String.format( "%d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(milliseconds), TimeUnit.MILLISECONDS.toMinutes(milliseconds) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(milliseconds)), TimeUnit.MILLISECONDS.toSeconds(milliseconds) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(milliseconds)), ) - ImplicitDefaultLocale:SubtitleColorPage.kt$String.format("%02X", toAlpha(this)) - ImplicitDefaultLocale:SubtitleColorPage.kt$String.format("%02X", toBlue(this)) - ImplicitDefaultLocale:SubtitleColorPage.kt$String.format("%02X", toGreen(this)) - ImplicitDefaultLocale:SubtitleColorPage.kt$String.format("%02X", toRed(this)) - ImplicitDefaultLocale:SubtitleColorPage.kt$String.format("%03d", argb.toValue(colorCode)) - InstanceOfCheckForException:AnimeDownloader.kt$AnimeDownloader$e is CancellationException - InstanceOfCheckForException:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob$e is CancellationException - InstanceOfCheckForException:AnimeMetadataUpdateJob.kt$AnimeMetadataUpdateJob$e is CancellationException - InstanceOfCheckForException:AnimeScreenModel.kt$AnimeScreenModel$e is HttpException - InstanceOfCheckForException:AnimeScreenModel.kt$AnimeScreenModel$e is NoEpisodesException - InstanceOfCheckForException:AppUpdateDownloadJob.kt$AppUpdateDownloadJob$e is CancellationException - InstanceOfCheckForException:AppUpdateDownloadJob.kt$AppUpdateDownloadJob$e is StreamResetException - InstanceOfCheckForException:BackupRestoreJob.kt$BackupRestoreJob$e is CancellationException - InstanceOfCheckForException:HttpPageLoader.kt$HttpPageLoader$e is CancellationException - InstanceOfCheckForException:MangaDownloader.kt$MangaDownloader$e is CancellationException - InstanceOfCheckForException:MangaDownloader.kt$MangaDownloader$error is CancellationException - InstanceOfCheckForException:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob$e is CancellationException - InstanceOfCheckForException:MangaMetadataUpdateJob.kt$MangaMetadataUpdateJob$e is CancellationException - InstanceOfCheckForException:MangaScreenModel.kt$MangaScreenModel$e is HttpException - InstanceOfCheckForException:MangaScreenModel.kt$MangaScreenModel$e is NoChaptersException - InstanceOfCheckForException:ReaderViewModel.kt$ReaderViewModel$e is CancellationException - LambdaParameterInRestartableEffect:AnimeLibraryContent.kt$onChangeCurrentPage - LambdaParameterInRestartableEffect:MangaLibraryContent.kt$onChangeCurrentPage - LambdaParameterInRestartableEffect:ReaderSettingsDialog.kt$onHideMenus - LambdaParameterInRestartableEffect:ReaderSettingsDialog.kt$onShowMenus - LargeClass:AnimeDownloader.kt$AnimeDownloader - LargeClass:AnimeScreenModel.kt$AnimeScreenModel : StateScreenModel - LargeClass:MangaScreenModel.kt$MangaScreenModel : StateScreenModel - LargeClass:PlayerActivity.kt$PlayerActivity : BaseActivity - LongMethod:AboutScreen.kt$AboutScreen$@Composable override fun Content() - LongMethod:AdvancedPlayerSettingsScreen.kt$AdvancedPlayerSettingsScreen$@SuppressLint("InlinedApi") @Composable override fun getPreferences(): List<Preference> - LongMethod:AnilistApi.kt$AnilistApi$suspend fun findLibAnime(track: AnimeTrack, userid: Int): AnimeTrack? - LongMethod:AnilistApi.kt$AnilistApi$suspend fun findLibManga(track: MangaTrack, userid: Int): MangaTrack? - LongMethod:AnimeCategoryTab.kt$@Composable fun Screen.animeCategoryTab(): TabContent - LongMethod:AnimeCoverDialog.kt$@Composable fun AnimeCoverDialog( coverDataProvider: () -> Anime, isCustomCover: Boolean, snackbarHostState: SnackbarHostState, onShareClick: () -> Unit, onSaveClick: () -> Unit, onEditClick: ((EditCoverAction) -> Unit)?, onDismissRequest: () -> Unit, ) - LongMethod:AnimeDownloadCache.kt$AnimeDownloadCache$private fun renewCache() - LongMethod:AnimeDownloader.kt$AnimeDownloader$private fun downloadVideoExternal( video: Video, source: AnimeHttpSource, tmpDir: UniFile, filename: String, ): UniFile - LongMethod:AnimeDownloader.kt$AnimeDownloader$private suspend fun httpDownload( download: AnimeDownload, tmpDir: UniFile, filename: String, threadNumber: Int, safeDownload: Boolean, ): UniFile - LongMethod:AnimeEpisodeListItem.kt$@Composable fun AnimeEpisodeListItem( title: String, date: String?, watchProgress: String?, scanlator: String?, seen: Boolean, bookmark: Boolean, selected: Boolean, downloadIndicatorEnabled: Boolean, downloadStateProvider: () -> AnimeDownload.State, downloadProgressProvider: () -> Int, episodeSwipeStartAction: LibraryPreferences.EpisodeSwipeAction, episodeSwipeEndAction: LibraryPreferences.EpisodeSwipeAction, onLongClick: () -> Unit, onClick: () -> Unit, onDownloadClick: ((EpisodeDownloadAction) -> Unit)?, onEpisodeSwipe: (LibraryPreferences.EpisodeSwipeAction) -> Unit, modifier: Modifier = Modifier, ) - LongMethod:AnimeExtensionDetailsScreen.kt$@Composable fun AnimeExtensionDetailsScreen( navigateUp: () -> Unit, state: AnimeExtensionDetailsScreenModel.State, onClickSourcePreferences: (sourceId: Long) -> Unit, onClickEnableAll: () -> Unit, onClickDisableAll: () -> Unit, onClickClearCookies: () -> Unit, onClickUninstall: () -> Unit, onClickSource: (sourceId: Long) -> Unit, ) - LongMethod:AnimeExtensionDetailsScreen.kt$@Composable private fun DetailsHeader( extension: AnimeExtension, onClickAgeRating: () -> Unit, onClickUninstall: () -> Unit, onClickAppInfo: (() -> Unit)?, ) - LongMethod:AnimeExtensionLoader.kt$AnimeExtensionLoader$private fun loadExtension(context: Context, extensionInfo: AnimeExtensionInfo): AnimeLoadResult - LongMethod:AnimeExtensionsScreen.kt$@Composable private fun AnimeExtensionContent( state: AnimeExtensionsScreenModel.State, contentPadding: PaddingValues, onLongClickItem: (AnimeExtension) -> Unit, onOpenWebView: (AnimeExtension.Available) -> Unit, onClickItemCancel: (AnimeExtension) -> Unit, onInstallExtension: (AnimeExtension.Available) -> Unit, onUninstallExtension: (AnimeExtension) -> Unit, onUpdateExtension: (AnimeExtension.Installed) -> Unit, onTrustExtension: (AnimeExtension.Untrusted) -> Unit, onOpenExtension: (AnimeExtension.Installed) -> Unit, onClickUpdateAll: () -> Unit, ) - LongMethod:AnimeExtensionsScreen.kt$@Composable private fun AnimeExtensionItemActions( extension: AnimeExtension, installStep: InstallStep, modifier: Modifier = Modifier, onClickItemCancel: (AnimeExtension) -> Unit = {}, onClickItemAction: (AnimeExtension) -> Unit = {}, onClickItemSecondaryAction: (AnimeExtension) -> Unit = {}, ) - LongMethod:AnimeHistoryTab.kt$@Composable fun Screen.animeHistoryTab( context: Context, fromMore: Boolean, ): TabContent - LongMethod:AnimeInfoHeader.kt$@Composable fun ExpandableAnimeDescription( defaultExpandState: Boolean, description: String?, tagsProvider: () -> List<String>?, onTagSearch: (String) -> Unit, onCopyTagToClipboard: (tag: String) -> Unit, modifier: Modifier = Modifier, ) - LongMethod:AnimeInfoHeader.kt$@Composable private fun AnimeSummary( expandedDescription: String, shrunkDescription: String, expanded: Boolean, modifier: Modifier = Modifier, ) - LongMethod:AnimeInfoHeader.kt$@Composable private fun ColumnScope.AnimeContentInfo( title: String, doSearch: (query: String, global: Boolean) -> Unit, author: String?, artist: String?, status: Long, sourceName: String, isStubSource: Boolean, textAlign: TextAlign? = LocalTextStyle.current.textAlign, ) - LongMethod:AnimeLibraryContent.kt$@Composable fun AnimeLibraryContent( categories: List<Category>, searchQuery: String?, selection: List<LibraryAnime>, contentPadding: PaddingValues, currentPage: () -> Int, hasActiveFilters: Boolean, showPageTabs: Boolean, onChangeCurrentPage: (Int) -> Unit, onAnimeClicked: (Long) -> Unit, onContinueWatchingClicked: ((LibraryAnime) -> Unit)?, onToggleSelection: (LibraryAnime) -> Unit, onToggleRangeSelection: (LibraryAnime) -> Unit, onRefresh: (Category?) -> Boolean, onGlobalSearchClicked: () -> Unit, getNumberOfAnimeForCategory: (Category) -> Int?, getDisplayMode: (Int) -> PreferenceMutableState<LibraryDisplayMode>, getColumnsForOrientation: (Boolean) -> PreferenceMutableState<Int>, getAnimeLibraryForPage: (Int) -> List<AnimeLibraryItem>, ) - LongMethod:AnimeLibraryPager.kt$@Composable fun AnimeLibraryPager( state: PagerState, contentPadding: PaddingValues, hasActiveFilters: Boolean, selectedAnime: List<LibraryAnime>, searchQuery: String?, onGlobalSearchClicked: () -> Unit, getDisplayMode: (Int) -> PreferenceMutableState<LibraryDisplayMode>, getColumnsForOrientation: (Boolean) -> PreferenceMutableState<Int>, getLibraryForPage: (Int) -> List<AnimeLibraryItem>, onClickAnime: (LibraryAnime) -> Unit, onLongClickAnime: (LibraryAnime) -> Unit, onClickContinueWatching: ((LibraryAnime) -> Unit)?, ) - LongMethod:AnimeLibraryScreenModel.kt$AnimeLibraryScreenModel$private fun AnimeLibraryMap.applySort( // Map<MangaId, List<Track>> trackMap: Map<Long, List<AnimeTrack>>, ): AnimeLibraryMap - LongMethod:AnimeLibraryScreenModel.kt$AnimeLibraryScreenModel$private suspend fun AnimeLibraryMap.applyFilters( trackMap: Map<Long, List<AnimeTrack>>, loggedInTrackers: Map<Long, TriState>, ): AnimeLibraryMap - LongMethod:AnimeLibrarySettingsDialog.kt$@Composable private fun ColumnScope.DisplayPage( screenModel: AnimeLibrarySettingsScreenModel, ) - LongMethod:AnimeLibrarySettingsDialog.kt$@Composable private fun ColumnScope.FilterPage( screenModel: AnimeLibrarySettingsScreenModel, ) - LongMethod:AnimeLibraryTab.kt$AnimeLibraryTab$@OptIn(ExperimentalMaterial3Api::class) @Composable override fun Content() - LongMethod:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob$private suspend fun addAnimeToQueue(categoryId: Long) - LongMethod:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob$private suspend fun updateEpisodeList() - LongMethod:AnimeScreen.kt$@Composable fun AnimeScreen( state: AnimeScreenModel.State.Success, snackbarHostState: SnackbarHostState, nextUpdate: Instant?, isTabletUi: Boolean, episodeSwipeStartAction: LibraryPreferences.EpisodeSwipeAction, episodeSwipeEndAction: LibraryPreferences.EpisodeSwipeAction, showNextEpisodeAirTime: Boolean, alwaysUseExternalPlayer: Boolean, onBackClicked: () -> Unit, onEpisodeClicked: (episode: Episode, alt: Boolean) -> Unit, onDownloadEpisode: ((List<EpisodeList.Item>, EpisodeDownloadAction) -> Unit)?, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, // For tags menu onTagSearch: (String) -> Unit, onFilterButtonClicked: () -> Unit, onRefresh: () -> Unit, onContinueWatching: () -> Unit, onSearch: (query: String, global: Boolean) -> Unit, // For cover dialog onCoverClicked: () -> Unit, // For top action menu onShareClicked: (() -> Unit)?, onDownloadActionClicked: ((DownloadAction) -> Unit)?, onEditCategoryClicked: (() -> Unit)?, onEditFetchIntervalClicked: (() -> Unit)?, onMigrateClicked: (() -> Unit)?, changeAnimeSkipIntro: (() -> Unit)?, // For bottom action menu onMultiBookmarkClicked: (List<Episode>, bookmarked: Boolean) -> Unit, onMultiMarkAsSeenClicked: (List<Episode>, markAsSeen: Boolean) -> Unit, onMarkPreviousAsSeenClicked: (Episode) -> Unit, onMultiDeleteClicked: (List<Episode>) -> Unit, // For episode swipe onEpisodeSwipe: (EpisodeList.Item, LibraryPreferences.EpisodeSwipeAction) -> Unit, // Episode selection onEpisodeSelected: (EpisodeList.Item, Boolean, Boolean, Boolean) -> Unit, onAllEpisodeSelected: (Boolean) -> Unit, onInvertSelection: () -> Unit, ) - LongMethod:AnimeScreen.kt$@OptIn(ExperimentalMaterial3Api::class) @Composable fun AnimeScreenLargeImpl( state: AnimeScreenModel.State.Success, snackbarHostState: SnackbarHostState, nextUpdate: Instant?, episodeSwipeStartAction: LibraryPreferences.EpisodeSwipeAction, episodeSwipeEndAction: LibraryPreferences.EpisodeSwipeAction, showNextEpisodeAirTime: Boolean, alwaysUseExternalPlayer: Boolean, onBackClicked: () -> Unit, onEpisodeClicked: (Episode, Boolean) -> Unit, onDownloadEpisode: ((List<EpisodeList.Item>, EpisodeDownloadAction) -> Unit)?, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, // For tags menu onTagSearch: (String) -> Unit, onCopyTagToClipboard: (tag: String) -> Unit, onFilterButtonClicked: () -> Unit, onRefresh: () -> Unit, onContinueWatching: () -> Unit, onSearch: (query: String, global: Boolean) -> Unit, // For cover dialog onCoverClicked: () -> Unit, // For top action menu onShareClicked: (() -> Unit)?, onDownloadActionClicked: ((DownloadAction) -> Unit)?, onEditCategoryClicked: (() -> Unit)?, onEditIntervalClicked: (() -> Unit)?, onMigrateClicked: (() -> Unit)?, changeAnimeSkipIntro: (() -> Unit)?, onSettingsClicked: (() -> Unit)?, // For bottom action menu onMultiBookmarkClicked: (List<Episode>, bookmarked: Boolean) -> Unit, onMultiMarkAsSeenClicked: (List<Episode>, markAsSeen: Boolean) -> Unit, onMarkPreviousAsSeenClicked: (Episode) -> Unit, onMultiDeleteClicked: (List<Episode>) -> Unit, // For swipe actions onEpisodeSwipe: (EpisodeList.Item, LibraryPreferences.EpisodeSwipeAction) -> Unit, // Episode selection onEpisodeSelected: (EpisodeList.Item, Boolean, Boolean, Boolean) -> Unit, onAllEpisodeSelected: (Boolean) -> Unit, onInvertSelection: () -> Unit, ) - LongMethod:AnimeScreen.kt$@OptIn(ExperimentalMaterial3Api::class) @Composable private fun AnimeScreenSmallImpl( state: AnimeScreenModel.State.Success, snackbarHostState: SnackbarHostState, nextUpdate: Instant?, episodeSwipeStartAction: LibraryPreferences.EpisodeSwipeAction, episodeSwipeEndAction: LibraryPreferences.EpisodeSwipeAction, showNextEpisodeAirTime: Boolean, alwaysUseExternalPlayer: Boolean, onBackClicked: () -> Unit, onEpisodeClicked: (Episode, Boolean) -> Unit, onDownloadEpisode: ((List<EpisodeList.Item>, EpisodeDownloadAction) -> Unit)?, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, // For tags menu onTagSearch: (String) -> Unit, onCopyTagToClipboard: (tag: String) -> Unit, onFilterClicked: () -> Unit, onRefresh: () -> Unit, onContinueWatching: () -> Unit, onSearch: (query: String, global: Boolean) -> Unit, // For cover dialog onCoverClicked: () -> Unit, // For top action menu onShareClicked: (() -> Unit)?, onDownloadActionClicked: ((DownloadAction) -> Unit)?, onEditCategoryClicked: (() -> Unit)?, onEditIntervalClicked: (() -> Unit)?, onMigrateClicked: (() -> Unit)?, changeAnimeSkipIntro: (() -> Unit)?, onSettingsClicked: (() -> Unit)?, // For bottom action menu onMultiBookmarkClicked: (List<Episode>, bookmarked: Boolean) -> Unit, onMultiMarkAsSeenClicked: (List<Episode>, markAsSeen: Boolean) -> Unit, onMarkPreviousAsSeenClicked: (Episode) -> Unit, onMultiDeleteClicked: (List<Episode>) -> Unit, // For episode swipe onEpisodeSwipe: (EpisodeList.Item, LibraryPreferences.EpisodeSwipeAction) -> Unit, // Episode selection onEpisodeSelected: (EpisodeList.Item, Boolean, Boolean, Boolean) -> Unit, onAllEpisodeSelected: (Boolean) -> Unit, onInvertSelection: () -> Unit, ) - LongMethod:AnimeScreen.kt$AnimeScreen$@Composable override fun Content() - LongMethod:AnimeScreen.kt$private fun LazyListScope.sharedEpisodeItems( anime: Anime, episodes: List<EpisodeList>, isAnyEpisodeSelected: Boolean, episodeSwipeStartAction: LibraryPreferences.EpisodeSwipeAction, episodeSwipeEndAction: LibraryPreferences.EpisodeSwipeAction, onEpisodeClicked: (Episode, Boolean) -> Unit, onDownloadEpisode: ((List<EpisodeList.Item>, EpisodeDownloadAction) -> Unit)?, onEpisodeSelected: (EpisodeList.Item, Boolean, Boolean, Boolean) -> Unit, onEpisodeSwipe: (EpisodeList.Item, LibraryPreferences.EpisodeSwipeAction) -> Unit, ) - LongMethod:AnimeSourceSearchScreen.kt$AnimeSourceSearchScreen$@Composable override fun Content() - LongMethod:AnimeTrackInfoDialog.kt$AnimeTrackInfoDialogHomeScreen$@Composable override fun Content() - LongMethod:AnimeTrackInfoDialog.kt$TrackDateRemoverScreen$@Composable override fun Content() - LongMethod:AnimeTrackInfoDialog.kt$TrackerAnimeRemoveScreen$@Composable override fun Content() - LongMethod:AnimeTrackInfoDialogHome.kt$@Composable private fun TrackInfoItem( title: String, tracker: Tracker, status: StringResource?, onStatusClick: () -> Unit, episodes: String, onEpisodesClick: () -> Unit, score: String?, onScoreClick: (() -> Unit)?, startDate: String?, onStartDateClick: (() -> Unit)?, endDate: String?, onEndDateClick: (() -> Unit)?, onNewSearch: () -> Unit, onOpenInBrowser: () -> Unit, onRemoved: () -> Unit, ) - LongMethod:AnimeTrackerSearch.kt$@Composable fun AnimeTrackerSearch( query: TextFieldValue, onQueryChange: (TextFieldValue) -> Unit, onDispatchQuery: () -> Unit, queryResult: Result<List<AnimeTrackSearch>>?, selected: AnimeTrackSearch?, onSelectedChange: (AnimeTrackSearch) -> Unit, onConfirmSelection: () -> Unit, onDismissRequest: () -> Unit, ) - LongMethod:AnimeTrackerSearch.kt$@Composable private fun SearchResultItem( trackSearch: AnimeTrackSearch, selected: Boolean, onClick: () -> Unit, ) - LongMethod:AnimeUpdatesTab.kt$@Composable fun Screen.animeUpdatesTab( context: Context, fromMore: Boolean, ): TabContent - LongMethod:AnimeUpdatesUiItem.kt$@Composable private fun AnimeUpdatesUiItem( update: AnimeUpdatesWithRelations, selected: Boolean, watchProgress: String?, onClick: () -> Unit, onLongClick: () -> Unit, onClickCover: (() -> Unit)?, onDownloadEpisode: ((EpisodeDownloadAction) -> Unit)?, // Download Indicator downloadStateProvider: () -> AnimeDownload.State, downloadProgressProvider: () -> Int, modifier: Modifier = Modifier, ) - LongMethod:AnimeUpdatesUiItem.kt$internal fun LazyListScope.animeUpdatesUiItems( uiModels: List<AnimeUpdatesUiModel>, selectionMode: Boolean, onUpdateSelected: (AnimeUpdatesItem, Boolean, Boolean, Boolean) -> Unit, onClickCover: (AnimeUpdatesItem) -> Unit, onClickUpdate: (AnimeUpdatesItem, altPlayer: Boolean) -> Unit, onDownloadEpisode: (List<AnimeUpdatesItem>, EpisodeDownloadAction) -> Unit, ) - LongMethod:AppBar.kt$@Composable fun AppBarActions( actions: ImmutableList<AppBar.AppBarAction>, ) - LongMethod:AppBar.kt$@Composable fun SearchToolbar( searchQuery: String?, onChangeSearchQuery: (String?) -> Unit, modifier: Modifier = Modifier, titleContent: @Composable () -> Unit = {}, navigateUp: (() -> Unit)? = null, searchEnabled: Boolean = true, placeholderText: String? = null, onSearch: (String) -> Unit = {}, onClickCloseSearch: () -> Unit = { onChangeSearchQuery(null) }, actions: @Composable RowScope.() -> Unit = {}, scrollBehavior: TopAppBarScrollBehavior? = null, visualTransformation: VisualTransformation = VisualTransformation.None, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, ) - LongMethod:AppModule.kt$AppModule$override fun InjektRegistrar.registerInjectables() - LongMethod:AppThemePreferenceWidget.kt$@Composable fun AppThemePreviewItem( selected: Boolean, onClick: () -> Unit, ) - LongMethod:BrowseAnimeSourceScreen.kt$@Composable fun BrowseAnimeSourceContent( source: AnimeSource?, animeList: LazyPagingItems<StateFlow<Anime>>, columns: GridCells, displayMode: LibraryDisplayMode, snackbarHostState: SnackbarHostState, contentPadding: PaddingValues, onWebViewClick: () -> Unit, onHelpClick: () -> Unit, onLocalAnimeSourceHelpClick: () -> Unit, onAnimeClick: (Anime) -> Unit, onAnimeLongClick: (Anime) -> Unit, ) - LongMethod:BrowseAnimeSourceScreen.kt$BrowseAnimeSourceScreen$@Composable override fun Content() - LongMethod:BrowseAnimeSourceToolbar.kt$@Composable fun BrowseAnimeSourceToolbar( searchQuery: String?, onSearchQueryChange: (String?) -> Unit, source: AnimeSource?, displayMode: LibraryDisplayMode, onDisplayModeChange: (LibraryDisplayMode) -> Unit, navigateUp: () -> Unit, onWebViewClick: () -> Unit, onHelpClick: () -> Unit, onSettingsClick: () -> Unit, onSearch: (String) -> Unit, scrollBehavior: TopAppBarScrollBehavior? = null, ) - LongMethod:BrowseMangaSourceScreen.kt$@Composable fun BrowseSourceContent( source: MangaSource?, mangaList: LazyPagingItems<StateFlow<Manga>>, columns: GridCells, displayMode: LibraryDisplayMode, snackbarHostState: SnackbarHostState, contentPadding: PaddingValues, onWebViewClick: () -> Unit, onHelpClick: () -> Unit, onLocalSourceHelpClick: () -> Unit, onMangaClick: (Manga) -> Unit, onMangaLongClick: (Manga) -> Unit, ) - LongMethod:BrowseMangaSourceScreen.kt$BrowseMangaSourceScreen$@Composable override fun Content() - LongMethod:BrowseMangaSourceToolbar.kt$@Composable fun BrowseMangaSourceToolbar( searchQuery: String?, onSearchQueryChange: (String?) -> Unit, source: MangaSource?, displayMode: LibraryDisplayMode, onDisplayModeChange: (LibraryDisplayMode) -> Unit, navigateUp: () -> Unit, onWebViewClick: () -> Unit, onHelpClick: () -> Unit, onSettingsClick: () -> Unit, onSearch: (String) -> Unit, scrollBehavior: TopAppBarScrollBehavior? = null, ) - LongMethod:CategoryDialogs.kt$@Composable fun ChangeCategoryDialog( initialSelection: ImmutableList<CheckboxState<Category>>, onDismissRequest: () -> Unit, onEditCategories: () -> Unit, onConfirm: (List<Long>, List<Long>) -> Unit, ) - LongMethod:CategoryListItem.kt$@Composable fun CategoryListItem( category: Category, canMoveUp: Boolean, canMoveDown: Boolean, onMoveUp: (Category) -> Unit, onMoveDown: (Category) -> Unit, onRename: () -> Unit, onHide: () -> Unit, onDelete: () -> Unit, modifier: Modifier = Modifier, ) - LongMethod:ChapterDownloadIndicator.kt$@Composable private fun DownloadingIndicator( enabled: Boolean, downloadState: MangaDownload.State, downloadProgressProvider: () -> Int, onClick: (ChapterDownloadAction) -> Unit, modifier: Modifier = Modifier, ) - LongMethod:ChapterNavigator.kt$@Composable fun ChapterNavigator( isRtl: Boolean, onNextChapter: () -> Unit, enabledNext: Boolean, onPreviousChapter: () -> Unit, enabledPrevious: Boolean, currentPage: Int, totalPages: Int, onSliderValueChange: (Int) -> Unit, ) - LongMethod:ChapterSettingsDialog.kt$@Composable fun ChapterSettingsDialog( onDismissRequest: () -> Unit, manga: Manga? = null, onDownloadFilterChanged: (TriState) -> Unit, onUnreadFilterChanged: (TriState) -> Unit, onBookmarkedFilterChanged: (TriState) -> Unit, scanlatorFilterActive: Boolean, onScanlatorFilterClicked: (() -> Unit), onSortModeChanged: (Long) -> Unit, onDisplayModeChanged: (Long) -> Unit, onSetAsDefault: (applyToExistingManga: Boolean) -> Unit, onResetToDefault: () -> Unit, ) - LongMethod:ClearAnimeDatabaseScreen.kt$ClearAnimeDatabaseScreen$@Composable override fun Content() - LongMethod:ClearDatabaseScreen.kt$ClearDatabaseScreen$@Composable override fun Content() - LongMethod:ColorFilterPage.kt$@Composable internal fun ColumnScope.ColorFilterPage(screenModel: ReaderSettingsScreenModel) - LongMethod:CreateBackupScreen.kt$CreateBackupScreen$@Composable override fun Content() - LongMethod:DomainModule.kt$DomainModule$override fun InjektRegistrar.registerInjectables() - LongMethod:DownloadsTab.kt$DownloadsTab$@Composable override fun Content() - LongMethod:DownloadsTab.kt$DownloadsTab$@Composable private fun AnimeActions( animeScreenModel: AnimeDownloadQueueScreenModel, animeDownloadList: List<AnimeDownloadHeaderItem>, ) - LongMethod:DownloadsTab.kt$DownloadsTab$@Composable private fun MangaActions( mangaScreenModel: MangaDownloadQueueScreenModel, mangaDownloadList: List<MangaDownloadHeaderItem>, ) - LongMethod:EditTextPreferenceWidget.kt$@Composable fun EditTextPreferenceWidget( title: String, subtitle: String?, icon: ImageVector?, value: String, onConfirm: suspend (String) -> Boolean, singleLine: Boolean = true, canBeBlank: Boolean = false, ) - LongMethod:EntryBottomActionMenu.kt$@Composable fun EntryBottomActionMenu( visible: Boolean, isManga: Boolean, modifier: Modifier = Modifier, onBookmarkClicked: (() -> Unit)? = null, onRemoveBookmarkClicked: (() -> Unit)? = null, onMarkAsViewedClicked: (() -> Unit)? = null, onMarkAsUnviewedClicked: (() -> Unit)? = null, onMarkPreviousAsViewedClicked: (() -> Unit)? = null, onDownloadClicked: (() -> Unit)? = null, onDeleteClicked: (() -> Unit)? = null, onExternalClicked: (() -> Unit)? = null, onInternalClicked: (() -> Unit)? = null, ) - LongMethod:EntryBottomActionMenu.kt$@Composable fun LibraryBottomActionMenu( visible: Boolean, onChangeCategoryClicked: () -> Unit, onMarkAsViewedClicked: () -> Unit, onMarkAsUnviewedClicked: () -> Unit, onDownloadClicked: ((DownloadAction) -> Unit)?, onDeleteClicked: () -> Unit, isManga: Boolean, modifier: Modifier = Modifier, ) - LongMethod:EntryToolbar.kt$@Composable fun EntryToolbar( title: String, titleAlphaProvider: () -> Float, hasFilters: Boolean, onBackClicked: () -> Unit, onClickFilter: () -> Unit, onClickShare: (() -> Unit)?, onClickDownload: ((DownloadAction) -> Unit)?, onClickEditCategory: (() -> Unit)?, onClickRefresh: () -> Unit, onClickMigrate: (() -> Unit)?, onClickSettings: (() -> Unit)?, // Anime only changeAnimeSkipIntro: (() -> Unit)?, // For action mode actionModeCounter: Int, onSelectAll: () -> Unit, onInvertSelection: () -> Unit, isManga: Boolean, modifier: Modifier = Modifier, backgroundAlphaProvider: () -> Float = titleAlphaProvider, ) - LongMethod:EpisodeDownloadIndicator.kt$@Composable private fun DownloadingIndicator( enabled: Boolean, downloadState: AnimeDownload.State, downloadProgressProvider: () -> Int, onClick: (EpisodeDownloadAction) -> Unit, modifier: Modifier = Modifier, ) - LongMethod:EpisodeListDialog.kt$@Composable private fun EpisodeListItem( episode: Episode, isCurrentEpisode: Boolean, title: String, date: String?, onBookmarkClicked: (Long?, Boolean) -> Unit, onEpisodeClicked: (Long?) -> Unit, ) - LongMethod:EpisodeOptionsDialogScreen.kt$@Composable private fun VideoList( useExternalDownloader: Boolean, episode: Episode, anime: Anime, videoList: List<Video>, ) - LongMethod:GlobalAnimeSearchToolbar.kt$@Composable fun GlobalAnimeSearchToolbar( searchQuery: String?, progress: Int, total: Int, navigateUp: () -> Unit, onChangeSearchQuery: (String?) -> Unit, onSearch: (String) -> Unit, sourceFilter: AnimeSourceFilter, onChangeSearchFilter: (AnimeSourceFilter) -> Unit, onlyShowHasResults: Boolean, onToggleResults: () -> Unit, scrollBehavior: TopAppBarScrollBehavior, ) - LongMethod:GlobalMangaSearchToolbar.kt$@Composable fun GlobalMangaSearchToolbar( searchQuery: String?, progress: Int, total: Int, navigateUp: () -> Unit, onChangeSearchQuery: (String?) -> Unit, onSearch: (String) -> Unit, sourceFilter: MangaSourceFilter, onChangeSearchFilter: (MangaSourceFilter) -> Unit, onlyShowHasResults: Boolean, onToggleResults: () -> Unit, scrollBehavior: TopAppBarScrollBehavior, ) - LongMethod:HomeScreen.kt$HomeScreen$@Composable override fun Content() - LongMethod:HomeScreen.kt$HomeScreen$@Composable private fun NavigationIconItem(tab: eu.kanade.presentation.util.Tab) - LongMethod:ItemsDialogs.kt$@Composable fun SetIntervalDialog( interval: Int, nextUpdate: Instant?, onDismissRequest: () -> Unit, isManga: Boolean, onValueChanged: ((Int) -> Unit)? = null, ) - LongMethod:MainActivity.kt$MainActivity$override fun onCreate(savedInstanceState: Bundle?) - LongMethod:MainActivity.kt$MainActivity$private fun handleIntentAction(intent: Intent, navigator: Navigator): Boolean - LongMethod:MangaCategoryTab.kt$@Composable fun Screen.mangaCategoryTab(): TabContent - LongMethod:MangaChapterListItem.kt$@Composable fun MangaChapterListItem( title: String, date: String?, readProgress: String?, scanlator: String?, read: Boolean, bookmark: Boolean, selected: Boolean, downloadIndicatorEnabled: Boolean, downloadStateProvider: () -> MangaDownload.State, downloadProgressProvider: () -> Int, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, onLongClick: () -> Unit, onClick: () -> Unit, onDownloadClick: ((ChapterDownloadAction) -> Unit)?, onChapterSwipe: (LibraryPreferences.ChapterSwipeAction) -> Unit, modifier: Modifier = Modifier, ) - LongMethod:MangaCoverDialog.kt$@Composable fun MangaCoverDialog( coverDataProvider: () -> Manga, isCustomCover: Boolean, snackbarHostState: SnackbarHostState, onShareClick: () -> Unit, onSaveClick: () -> Unit, onEditClick: ((EditCoverAction) -> Unit)?, onDismissRequest: () -> Unit, ) - LongMethod:MangaDownloadCache.kt$MangaDownloadCache$private fun renewCache() - LongMethod:MangaDownloader.kt$MangaDownloader$private suspend fun downloadChapter(download: MangaDownload) - LongMethod:MangaExtensionDetailsScreen.kt$@Composable fun MangaExtensionDetailsScreen( navigateUp: () -> Unit, state: MangaExtensionDetailsScreenModel.State, onClickSourcePreferences: (sourceId: Long) -> Unit, onClickEnableAll: () -> Unit, onClickDisableAll: () -> Unit, onClickClearCookies: () -> Unit, onClickUninstall: () -> Unit, onClickSource: (sourceId: Long) -> Unit, ) - LongMethod:MangaExtensionDetailsScreen.kt$@Composable private fun DetailsHeader( extension: MangaExtension, onClickAgeRating: () -> Unit, onClickUninstall: () -> Unit, onClickAppInfo: (() -> Unit)?, ) - LongMethod:MangaExtensionLoader.kt$MangaExtensionLoader$private fun loadMangaExtension(context: Context, extensionInfo: MangaExtensionInfo): MangaLoadResult - LongMethod:MangaExtensionsScreen.kt$@Composable private fun ExtensionContent( state: MangaExtensionsScreenModel.State, contentPadding: PaddingValues, onLongClickItem: (MangaExtension) -> Unit, onOpenWebView: (MangaExtension.Available) -> Unit, onClickItemCancel: (MangaExtension) -> Unit, onInstallExtension: (MangaExtension.Available) -> Unit, onUninstallExtension: (MangaExtension) -> Unit, onUpdateExtension: (MangaExtension.Installed) -> Unit, onTrustExtension: (MangaExtension.Untrusted) -> Unit, onOpenExtension: (MangaExtension.Installed) -> Unit, onClickUpdateAll: () -> Unit, ) - LongMethod:MangaExtensionsScreen.kt$@Composable private fun ExtensionItemActions( extension: MangaExtension, installStep: InstallStep, modifier: Modifier = Modifier, onClickItemCancel: (MangaExtension) -> Unit = {}, onClickItemAction: (MangaExtension) -> Unit = {}, onClickItemSecondaryAction: (MangaExtension) -> Unit = {}, ) - LongMethod:MangaHistoryTab.kt$@Composable fun Screen.mangaHistoryTab( context: Context, fromMore: Boolean, ): TabContent - LongMethod:MangaInfoHeader.kt$@Composable fun ExpandableMangaDescription( defaultExpandState: Boolean, description: String?, tagsProvider: () -> List<String>?, onTagSearch: (String) -> Unit, onCopyTagToClipboard: (tag: String) -> Unit, modifier: Modifier = Modifier, ) - LongMethod: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, ) - LongMethod:MangaInfoHeader.kt$@Composable private fun MangaSummary( expandedDescription: String, shrunkDescription: String, expanded: Boolean, modifier: Modifier = Modifier, ) - LongMethod:MangaLibraryContent.kt$@Composable fun MangaLibraryContent( categories: List<Category>, searchQuery: String?, selection: List<LibraryManga>, contentPadding: PaddingValues, currentPage: () -> Int, hasActiveFilters: Boolean, showPageTabs: Boolean, onChangeCurrentPage: (Int) -> Unit, onMangaClicked: (Long) -> Unit, onContinueReadingClicked: ((LibraryManga) -> Unit)?, onToggleSelection: (LibraryManga) -> Unit, onToggleRangeSelection: (LibraryManga) -> Unit, onRefresh: (Category?) -> Boolean, onGlobalSearchClicked: () -> Unit, getNumberOfMangaForCategory: (Category) -> Int?, getDisplayMode: (Int) -> PreferenceMutableState<LibraryDisplayMode>, getColumnsForOrientation: (Boolean) -> PreferenceMutableState<Int>, getLibraryForPage: (Int) -> List<MangaLibraryItem>, ) - LongMethod:MangaLibraryPager.kt$@Composable fun MangaLibraryPager( state: PagerState, contentPadding: PaddingValues, hasActiveFilters: Boolean, selectedManga: List<LibraryManga>, searchQuery: String?, onGlobalSearchClicked: () -> Unit, getDisplayMode: (Int) -> PreferenceMutableState<LibraryDisplayMode>, getColumnsForOrientation: (Boolean) -> PreferenceMutableState<Int>, getLibraryForPage: (Int) -> List<MangaLibraryItem>, onClickManga: (LibraryManga) -> Unit, onLongClickManga: (LibraryManga) -> Unit, onClickContinueReading: ((LibraryManga) -> Unit)?, ) - LongMethod:MangaLibraryScreenModel.kt$MangaLibraryScreenModel$private fun MangaLibraryMap.applySort( // Map<MangaId, List<Track>> trackMap: Map<Long, List<MangaTrack>>, ): MangaLibraryMap - LongMethod:MangaLibraryScreenModel.kt$MangaLibraryScreenModel$private suspend fun MangaLibraryMap.applyFilters( trackMap: Map<Long, List<MangaTrack>>, loggedInTrackers: Map<Long, TriState>, ): MangaLibraryMap - LongMethod:MangaLibrarySettingsDialog.kt$@Composable private fun ColumnScope.DisplayPage( screenModel: MangaLibrarySettingsScreenModel, ) - LongMethod:MangaLibrarySettingsDialog.kt$@Composable private fun ColumnScope.FilterPage( screenModel: MangaLibrarySettingsScreenModel, ) - LongMethod:MangaLibraryTab.kt$MangaLibraryTab$@OptIn(ExperimentalMaterial3Api::class) @Composable override fun Content() - LongMethod:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob$private suspend fun addMangaToQueue(categoryId: Long) - LongMethod:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob$private suspend fun updateChapterList() - LongMethod:MangaScreen.kt$@Composable fun MangaScreen( state: MangaScreenModel.State.Success, snackbarHostState: SnackbarHostState, nextUpdate: Instant?, isTabletUi: Boolean, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, onBackClicked: () -> Unit, onChapterClicked: (Chapter) -> Unit, onDownloadChapter: ((List<ChapterList.Item>, ChapterDownloadAction) -> Unit)?, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, // For tags menu onTagSearch: (String) -> Unit, onFilterButtonClicked: () -> Unit, onRefresh: () -> Unit, onContinueReading: () -> Unit, onSearch: (query: String, global: Boolean) -> Unit, // For cover dialog onCoverClicked: () -> Unit, // For top action menu onShareClicked: (() -> Unit)?, onDownloadActionClicked: ((DownloadAction) -> Unit)?, onEditCategoryClicked: (() -> Unit)?, onEditFetchIntervalClicked: (() -> Unit)?, onMigrateClicked: (() -> Unit)?, // For bottom action menu onMultiBookmarkClicked: (List<Chapter>, bookmarked: Boolean) -> Unit, onMultiMarkAsReadClicked: (List<Chapter>, markAsRead: Boolean) -> Unit, onMarkPreviousAsReadClicked: (Chapter) -> Unit, onMultiDeleteClicked: (List<Chapter>) -> Unit, // For chapter swipe onChapterSwipe: (ChapterList.Item, LibraryPreferences.ChapterSwipeAction) -> Unit, // Chapter selection onChapterSelected: (ChapterList.Item, Boolean, Boolean, Boolean) -> Unit, onAllChapterSelected: (Boolean) -> Unit, onInvertSelection: () -> Unit, ) - LongMethod:MangaScreen.kt$@Composable fun MangaScreenLargeImpl( state: MangaScreenModel.State.Success, snackbarHostState: SnackbarHostState, nextUpdate: Instant?, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, onBackClicked: () -> Unit, onChapterClicked: (Chapter) -> Unit, onDownloadChapter: ((List<ChapterList.Item>, ChapterDownloadAction) -> Unit)?, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, // For tags menu onTagSearch: (String) -> Unit, onCopyTagToClipboard: (tag: String) -> Unit, onFilterButtonClicked: () -> Unit, onRefresh: () -> Unit, onContinueReading: () -> Unit, onSearch: (query: String, global: Boolean) -> Unit, // For cover dialog onCoverClicked: () -> Unit, // For top action menu onShareClicked: (() -> Unit)?, onDownloadActionClicked: ((DownloadAction) -> Unit)?, onEditCategoryClicked: (() -> Unit)?, onEditIntervalClicked: (() -> Unit)?, onMigrateClicked: (() -> Unit)?, onSettingsClicked: (() -> Unit)?, // For bottom action menu onMultiBookmarkClicked: (List<Chapter>, bookmarked: Boolean) -> Unit, onMultiMarkAsReadClicked: (List<Chapter>, markAsRead: Boolean) -> Unit, onMarkPreviousAsReadClicked: (Chapter) -> Unit, onMultiDeleteClicked: (List<Chapter>) -> Unit, // For swipe actions onChapterSwipe: (ChapterList.Item, LibraryPreferences.ChapterSwipeAction) -> Unit, // Chapter selection onChapterSelected: (ChapterList.Item, Boolean, Boolean, Boolean) -> Unit, onAllChapterSelected: (Boolean) -> Unit, onInvertSelection: () -> Unit, ) - LongMethod:MangaScreen.kt$@Composable private fun MangaScreenSmallImpl( state: MangaScreenModel.State.Success, snackbarHostState: SnackbarHostState, nextUpdate: Instant?, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, onBackClicked: () -> Unit, onChapterClicked: (Chapter) -> Unit, onDownloadChapter: ((List<ChapterList.Item>, ChapterDownloadAction) -> Unit)?, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, // For tags menu onTagSearch: (String) -> Unit, onCopyTagToClipboard: (tag: String) -> Unit, onFilterClicked: () -> Unit, onRefresh: () -> Unit, onContinueReading: () -> Unit, onSearch: (query: String, global: Boolean) -> Unit, // For cover dialog onCoverClicked: () -> Unit, // For top action menu onShareClicked: (() -> Unit)?, onDownloadActionClicked: ((DownloadAction) -> Unit)?, onEditCategoryClicked: (() -> Unit)?, onEditIntervalClicked: (() -> Unit)?, onMigrateClicked: (() -> Unit)?, onSettingsClicked: (() -> Unit)?, // For bottom action menu onMultiBookmarkClicked: (List<Chapter>, bookmarked: Boolean) -> Unit, onMultiMarkAsReadClicked: (List<Chapter>, markAsRead: Boolean) -> Unit, onMarkPreviousAsReadClicked: (Chapter) -> Unit, onMultiDeleteClicked: (List<Chapter>) -> Unit, // For chapter swipe onChapterSwipe: (ChapterList.Item, LibraryPreferences.ChapterSwipeAction) -> Unit, // Chapter selection onChapterSelected: (ChapterList.Item, Boolean, Boolean, Boolean) -> Unit, onAllChapterSelected: (Boolean) -> Unit, onInvertSelection: () -> Unit, ) - LongMethod:MangaScreen.kt$MangaScreen$@Composable override fun Content() - LongMethod:MangaScreen.kt$private fun LazyListScope.sharedChapterItems( manga: Manga, chapters: List<ChapterList>, isAnyChapterSelected: Boolean, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, onChapterClicked: (Chapter) -> Unit, onDownloadChapter: ((List<ChapterList.Item>, ChapterDownloadAction) -> Unit)?, onChapterSelected: (ChapterList.Item, Boolean, Boolean, Boolean) -> Unit, onChapterSwipe: (ChapterList.Item, LibraryPreferences.ChapterSwipeAction) -> Unit, ) - LongMethod:MangaSourceSearchScreen.kt$MangaSourceSearchScreen$@Composable override fun Content() - LongMethod:MangaSourcesTab.kt$@Composable fun Screen.mangaSourcesTab(): TabContent - LongMethod:MangaTrackInfoDialog.kt$MangaTrackInfoDialogHomeScreen$@Composable override fun Content() - LongMethod:MangaTrackInfoDialog.kt$TrackDateRemoverScreen$@Composable override fun Content() - LongMethod:MangaTrackInfoDialog.kt$TrackerMangaRemoveScreen$@Composable override fun Content() - LongMethod:MangaTrackInfoDialogHome.kt$@Composable private fun TrackInfoItem( title: String, tracker: Tracker, status: StringResource?, onStatusClick: () -> Unit, chapters: String, onChaptersClick: () -> Unit, score: String?, onScoreClick: (() -> Unit)?, startDate: String?, onStartDateClick: (() -> Unit)?, endDate: String?, onEndDateClick: (() -> Unit)?, onNewSearch: () -> Unit, onOpenInBrowser: () -> Unit, onRemoved: () -> Unit, ) - LongMethod:MangaTrackerSearch.kt$@Composable fun MangaTrackerSearch( query: TextFieldValue, onQueryChange: (TextFieldValue) -> Unit, onDispatchQuery: () -> Unit, queryResult: Result<List<MangaTrackSearch>>?, selected: MangaTrackSearch?, onSelectedChange: (MangaTrackSearch) -> Unit, onConfirmSelection: () -> Unit, onDismissRequest: () -> Unit, ) - LongMethod:MangaTrackerSearch.kt$@Composable private fun SearchResultItem( trackSearch: MangaTrackSearch, selected: Boolean, onClick: () -> Unit, ) - LongMethod:MangaUpdatesTab.kt$@Composable fun Screen.mangaUpdatesTab( context: Context, fromMore: Boolean, ): TabContent - LongMethod:MangaUpdatesUiItem.kt$@Composable private fun MangaUpdatesUiItem( update: MangaUpdatesWithRelations, selected: Boolean, readProgress: String?, onClick: () -> Unit, onLongClick: () -> Unit, onClickCover: (() -> Unit)?, onDownloadChapter: ((ChapterDownloadAction) -> Unit)?, // Download Indicator downloadStateProvider: () -> MangaDownload.State, downloadProgressProvider: () -> Int, modifier: Modifier = Modifier, ) - LongMethod:MangaUpdatesUiItem.kt$internal fun LazyListScope.mangaUpdatesUiItems( uiModels: List<MangaUpdatesUiModel>, selectionMode: Boolean, onUpdateSelected: (MangaUpdatesItem, Boolean, Boolean, Boolean) -> Unit, onClickCover: (MangaUpdatesItem) -> Unit, onClickUpdate: (MangaUpdatesItem) -> Unit, onDownloadChapter: (List<MangaUpdatesItem>, ChapterDownloadAction) -> Unit, ) - LongMethod:MigrateAnimeDialog.kt$@Composable internal fun MigrateAnimeDialog( oldAnime: Anime, newAnime: Anime, screenModel: MigrateAnimeDialogScreenModel, onDismissRequest: () -> Unit, onClickTitle: () -> Unit, onPopScreen: () -> Unit, ) - LongMethod:MigrateAnimeDialog.kt$MigrateAnimeDialogScreenModel$private suspend fun migrateAnimeInternal( oldSource: AnimeSource?, newSource: AnimeSource, oldAnime: Anime, newAnime: Anime, sourceEpisodes: List<SEpisode>, replace: Boolean, flags: Int, ) - LongMethod:MigrateMangaDialog.kt$@Composable internal fun MigrateMangaDialog( oldManga: Manga, newManga: Manga, screenModel: MigrateMangaDialogScreenModel, onDismissRequest: () -> Unit, onClickTitle: () -> Unit, onPopScreen: () -> Unit, ) - LongMethod:MigrateMangaDialog.kt$MigrateMangaDialogScreenModel$private suspend fun migrateMangaInternal( oldSource: MangaSource?, newSource: MangaSource, oldManga: Manga, newManga: Manga, sourceChapters: List<SChapter>, replace: Boolean, flags: Int, ) - LongMethod:Migrations.kt$Migrations$fun upgrade( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, playerPreferences: PlayerPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, ): Boolean - LongMethod:MoreScreen.kt$@Composable fun MoreScreen( downloadQueueStateProvider: () -> DownloadQueueState, downloadedOnly: Boolean, onDownloadedOnlyChange: (Boolean) -> Unit, incognitoMode: Boolean, onIncognitoModeChange: (Boolean) -> Unit, isFDroid: Boolean, navStyle: NavStyle, onClickAlt: () -> Unit, onClickDownloadQueue: () -> Unit, onClickCategories: () -> Unit, onClickStats: () -> Unit, onClickStorage: () -> Unit, onClickDataAndStorage: () -> Unit, onClickSettings: () -> Unit, onClickAbout: () -> Unit, ) - LongMethod:NotificationReceiver.kt$NotificationReceiver$override fun onReceive(context: Context, intent: Intent) - LongMethod:Notifications.kt$Notifications$fun createChannels(context: Context) - LongMethod:PlayerActivity.kt$PlayerActivity$@SuppressLint("ClickableViewAccessibility") override fun onCreate(savedInstanceState: Bundle?) - LongMethod:PlayerActivity.kt$PlayerActivity$@SuppressLint("SourceLockedOrientationActivity") internal suspend fun fileLoaded() - LongMethod:PlayerActivity.kt$PlayerActivity$fun doubleTapSeek( time: Int, event: MotionEvent? = null, isDoubleTap: Boolean = true, videoChapterText: String? = null, chapterSeek: String? = null, ) - LongMethod:PlayerActivity.kt$PlayerActivity$private fun updateChapters(stamps: List<Stamp>? = null, duration: Int? = null) - LongMethod:PlayerSettingsSheet.kt$@Composable fun PlayerSettingsSheet( screenModel: PlayerSettingsScreenModel, onDismissRequest: () -> Unit, ) - LongMethod:PreferenceItem.kt$@Composable internal fun PreferenceItem( item: Preference.PreferenceItem<*>, highlightKey: String?, ) - LongMethod:ReaderActivity.kt$ReaderActivity$override fun onCreate(savedInstanceState: Bundle?) - LongMethod:ReaderActivity.kt$ReaderActivity$private fun initializeMenu() - LongMethod:ReaderAppBars.kt$@Composable fun ReaderAppBars( visible: Boolean, fullscreen: Boolean, mangaTitle: String?, chapterTitle: String?, navigateUp: () -> Unit, onClickTopAppBar: () -> Unit, bookmarked: Boolean, onToggleBookmarked: () -> Unit, onOpenInWebView: (() -> Unit)?, onShare: (() -> Unit)?, viewer: Viewer?, onNextChapter: () -> Unit, enabledNext: Boolean, onPreviousChapter: () -> Unit, enabledPrevious: Boolean, currentPage: Int, totalPages: Int, onSliderValueChange: (Int) -> Unit, readingMode: ReadingMode, onClickReadingMode: () -> Unit, orientation: ReaderOrientation, onClickOrientation: () -> Unit, cropEnabled: Boolean, onClickCropBorder: () -> Unit, onClickSettings: () -> Unit, ) - LongMethod:ReadingModePage.kt$@Composable private fun ColumnScope.PagerViewerSettings(screenModel: ReaderSettingsScreenModel) - LongMethod:ScanlatorFilterDialog.kt$@Composable fun ScanlatorFilterDialog( availableScanlators: Set<String>, excludedScanlators: Set<String>, onDismissRequest: () -> Unit, onConfirm: (Set<String>) -> Unit, ) - LongMethod:ScreenshotOptionsSheet.kt$@Composable fun ScreenshotOptionsSheet( screenModel: PlayerSettingsScreenModel, cachePath: String, onSetAsCover: (() -> InputStream) -> Unit, onShare: (() -> InputStream) -> Unit, onSave: (() -> InputStream) -> Unit, onDismissRequest: () -> Unit, ) - LongMethod:SettingsAdvancedScreen.kt$SettingsAdvancedScreen$@Composable private fun getDataSaverGroup(): Preference.PreferenceGroup - LongMethod:SettingsAdvancedScreen.kt$SettingsAdvancedScreen$@Composable private fun getExtensionsGroup( basePreferences: BasePreferences, ): Preference.PreferenceGroup - LongMethod:SettingsAdvancedScreen.kt$SettingsAdvancedScreen$@Composable private fun getNetworkGroup( networkPreferences: NetworkPreferences, ): Preference.PreferenceGroup - LongMethod:SettingsAppearanceScreen.kt$SettingsAppearanceScreen$@Composable private fun getDisplayGroup( uiPreferences: UiPreferences, ): Preference.PreferenceGroup - LongMethod:SettingsBrowseScreen.kt$SettingsBrowseScreen$@Composable override fun getPreferences(): List<Preference> - LongMethod:SettingsDataScreen.kt$SettingsDataScreen$@Composable private fun getBackupAndRestoreGroup(backupPreferences: BackupPreferences): Preference.PreferenceGroup - LongMethod:SettingsDownloadScreen.kt$SettingsDownloadScreen$@Composable override fun getPreferences(): List<Preference> - LongMethod:SettingsDownloadScreen.kt$SettingsDownloadScreen$@Composable private fun getAutoDownloadGroup( downloadPreferences: DownloadPreferences, allAnimeCategories: ImmutableList<Category>, allMangaCategories: ImmutableList<Category>, ): Preference.PreferenceGroup - LongMethod:SettingsLibraryScreen.kt$SettingsLibraryScreen$@Composable private fun getCategoriesGroup( navigator: Navigator, allCategories: List<Category>, allAnimeCategories: List<Category>, libraryPreferences: LibraryPreferences, ): Preference.PreferenceGroup - LongMethod:SettingsLibraryScreen.kt$SettingsLibraryScreen$@Composable private fun getGlobalUpdateGroup( allMangaCategories: List<Category>, allAnimeCategories: List<Category>, libraryPreferences: LibraryPreferences, ): Preference.PreferenceGroup - LongMethod:SettingsMainScreen.kt$SettingsMainScreen$@Composable fun Content(twoPane: Boolean) - LongMethod:SettingsPlayerScreen.kt$SettingsPlayerScreen$@Composable private fun getOrientationGroup(playerPreferences: PlayerPreferences): Preference.PreferenceGroup - LongMethod:SettingsPlayerScreen.kt$SettingsPlayerScreen$@Composable private fun getSeekingGroup(playerPreferences: PlayerPreferences): Preference.PreferenceGroup - LongMethod:SettingsReaderScreen.kt$SettingsReaderScreen$@Composable private fun getPagedGroup(readerPreferences: ReaderPreferences): Preference.PreferenceGroup - LongMethod:SettingsReaderScreen.kt$SettingsReaderScreen$@Composable private fun getWebtoonGroup(readerPreferences: ReaderPreferences): Preference.PreferenceGroup - LongMethod:SettingsSearchScreen.kt$@Composable private fun SearchResult( searchKey: String, modifier: Modifier = Modifier, listState: LazyListState = rememberLazyListState(), contentPadding: PaddingValues = PaddingValues(), onItemClick: (SearchResultItem) -> Unit, ) - LongMethod:SettingsSearchScreen.kt$SettingsSearchScreen$@Composable override fun Content() - LongMethod:SettingsTrackingScreen.kt$SettingsTrackingScreen$@Composable override fun getPreferences(): List<Preference> - LongMethod:SettingsTrackingScreen.kt$SettingsTrackingScreen$@Composable private fun TrackingLoginDialog( tracker: Tracker, uNameStringRes: StringResource, onDismissRequest: () -> Unit, ) - LongMethod:SourceFilterAnimeDialog.kt$@Composable private fun FilterItem(filter: AnimeFilter<*>, onUpdate: () -> Unit) - LongMethod:SourceFilterMangaDialog.kt$@Composable private fun FilterItem(filter: Filter<*>, onUpdate: () -> Unit) - LongMethod:StorageItem.kt$@Composable fun StorageItem( item: StorageItem, isManga: Boolean, modifier: Modifier = Modifier, onDelete: (Long) -> Unit, ) - LongMethod:StorageStep.kt$StorageStep$@Composable override fun Content() - LongMethod:StreamsCatalogSheet.kt$@Composable private fun StreamsPageBuilder( externalTrackCode: String?, stream: PlayerViewModel.VideoStreams.Stream, openContentFd: (Uri) -> String?, onTrackSelected: (Int) -> Unit, ) - LongMethod:SubtitleColorPage.kt$@Composable private fun SubtitleColors( screenModel: PlayerSettingsScreenModel, ) - LongMethod:SubtitleDelayPage.kt$@Composable fun StreamsDelayPage( screenModel: PlayerSettingsScreenModel, ) - LongMethod:SubtitleFontPage.kt$@Composable private fun SubtitleFont( screenModel: PlayerSettingsScreenModel, ) - LongMethod:SyncChaptersWithSource.kt$SyncChaptersWithSource$suspend fun await( rawSourceChapters: List<SChapter>, manga: Manga, source: MangaSource, manualFetch: Boolean = false, fetchWindow: Pair<Long, Long> = Pair(0, 0), ): List<Chapter> - LongMethod:SyncEpisodesWithSource.kt$SyncEpisodesWithSource$suspend fun await( rawSourceEpisodes: List<SEpisode>, anime: Anime, source: AnimeSource, manualFetch: Boolean = false, fetchWindow: Pair<Long, Long> = Pair(0, 0), ): List<Episode> - LongMethod:TabbedScreen.kt$@Composable fun TabbedScreen( titleRes: StringResource?, tabs: ImmutableList<TabContent>, modifier: Modifier = Modifier, startIndex: Int? = null, mangaSearchQuery: String? = null, onChangeMangaSearchQuery: (String?) -> Unit = {}, scrollable: Boolean = false, animeSearchQuery: String? = null, onChangeAnimeSearchQuery: (String?) -> Unit = {}, ) - LongMethod:TriStateListDialog.kt$@SuppressLint("ComposeParameterOrder") @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, ) - LongMethod:WebViewScreenContent.kt$@Composable fun WebViewScreenContent( onNavigateUp: () -> Unit, initialTitle: String?, url: String, onShare: (String) -> Unit, onOpenInBrowser: (String) -> Unit, onClearCookies: (String) -> Unit, headers: Map<String, String> = emptyMap(), onUrlChange: (String) -> Unit = {}, ) - LongMethod:WebtoonRecyclerView.kt$WebtoonRecyclerView.Detector$override fun onTouchEvent(ev: MotionEvent): Boolean - LongParameterList:AnimeCategoryScreen.kt$( categories: List<Category>, lazyListState: LazyListState, paddingValues: PaddingValues, onClickRename: (Category) -> Unit, onClickHide: (Category) -> Unit, onClickDelete: (Category) -> Unit, onMoveUp: (Category) -> Unit, onMoveDown: (Category) -> Unit, ) - LongParameterList:AnimeCategoryScreen.kt$( state: AnimeCategoryScreenState.Success, onClickCreate: () -> Unit, onClickRename: (Category) -> Unit, onClickHide: (Category) -> Unit, onClickDelete: (Category) -> Unit, onClickMoveUp: (Category) -> Unit, onClickMoveDown: (Category) -> Unit, ) - LongParameterList:AnimeCoverDialog.kt$( coverDataProvider: () -> Anime, isCustomCover: Boolean, snackbarHostState: SnackbarHostState, onShareClick: () -> Unit, onSaveClick: () -> Unit, onEditClick: ((EditCoverAction) -> Unit)?, onDismissRequest: () -> Unit, ) - LongParameterList:AnimeCoverFetcher.kt$AnimeCoverFetcher$( private val url: String?, private val isLibraryAnime: Boolean, private val options: Options, private val coverFileLazy: Lazy<File?>, private val customCoverFileLazy: Lazy<File>, private val diskCacheKeyLazy: Lazy<String>, private val sourceLazy: Lazy<AnimeHttpSource?>, private val callFactoryLazy: Lazy<Call.Factory>, private val diskCacheLazy: Lazy<DiskCache>, ) - LongParameterList:AnimeEpisodeListItem.kt$( action: LibraryPreferences.EpisodeSwipeAction, seen: Boolean, bookmark: Boolean, downloadState: AnimeDownload.State, background: Color, onSwipe: () -> Unit, ) - LongParameterList:AnimeEpisodeListItem.kt$( title: String, date: String?, watchProgress: String?, scanlator: String?, seen: Boolean, bookmark: Boolean, selected: Boolean, downloadIndicatorEnabled: Boolean, downloadStateProvider: () -> AnimeDownload.State, downloadProgressProvider: () -> Int, episodeSwipeStartAction: LibraryPreferences.EpisodeSwipeAction, episodeSwipeEndAction: LibraryPreferences.EpisodeSwipeAction, onLongClick: () -> Unit, onClick: () -> Unit, onDownloadClick: ((EpisodeDownloadAction) -> Unit)?, onEpisodeSwipe: (LibraryPreferences.EpisodeSwipeAction) -> Unit, modifier: Modifier = Modifier, ) - LongParameterList:AnimeExtensionDetailsScreen.kt$( contentPadding: PaddingValues, extension: AnimeExtension.Installed, sources: ImmutableList<AnimeExtensionSourceItem>, onClickSourcePreferences: (sourceId: Long) -> Unit, onClickUninstall: () -> Unit, onClickSource: (sourceId: Long) -> Unit, ) - LongParameterList:AnimeExtensionDetailsScreen.kt$( navigateUp: () -> Unit, state: AnimeExtensionDetailsScreenModel.State, onClickSourcePreferences: (sourceId: Long) -> Unit, onClickEnableAll: () -> Unit, onClickDisableAll: () -> Unit, onClickClearCookies: () -> Unit, onClickUninstall: () -> Unit, onClickSource: (sourceId: Long) -> Unit, ) - LongParameterList:AnimeExtensionsScreen.kt$( item: AnimeExtensionUiModel.Item, onClickItem: (AnimeExtension) -> Unit, onLongClickItem: (AnimeExtension) -> Unit, onClickItemCancel: (AnimeExtension) -> Unit, onClickItemAction: (AnimeExtension) -> Unit, modifier: Modifier = Modifier, onClickItemSecondaryAction: (AnimeExtension) -> Unit, ) - LongParameterList:AnimeExtensionsScreen.kt$( state: AnimeExtensionsScreenModel.State, contentPadding: PaddingValues, onLongClickItem: (AnimeExtension) -> Unit, onOpenWebView: (AnimeExtension.Available) -> Unit, onClickItemCancel: (AnimeExtension) -> Unit, onInstallExtension: (AnimeExtension.Available) -> Unit, onUninstallExtension: (AnimeExtension) -> Unit, onUpdateExtension: (AnimeExtension.Installed) -> Unit, onTrustExtension: (AnimeExtension.Untrusted) -> Unit, onOpenExtension: (AnimeExtension.Installed) -> Unit, onClickUpdateAll: () -> Unit, ) - LongParameterList:AnimeExtensionsScreen.kt$( state: AnimeExtensionsScreenModel.State, contentPadding: PaddingValues, searchQuery: String?, onLongClickItem: (AnimeExtension) -> Unit, onClickItemCancel: (AnimeExtension) -> Unit, onOpenWebView: (AnimeExtension.Available) -> Unit, onInstallExtension: (AnimeExtension.Available) -> Unit, onUninstallExtension: (AnimeExtension) -> Unit, onUpdateExtension: (AnimeExtension.Installed) -> Unit, onTrustExtension: (AnimeExtension.Untrusted) -> Unit, onOpenExtension: (AnimeExtension.Installed) -> Unit, onClickUpdateAll: () -> Unit, onRefresh: () -> Unit, ) - LongParameterList:AnimeInfoHeader.kt$( appBarPadding: Dp, coverDataProvider: () -> Anime, onCoverClick: () -> Unit, title: String, doSearch: (query: String, global: Boolean) -> Unit, author: String?, artist: String?, status: Long, sourceName: String, isStubSource: Boolean, ) - LongParameterList:AnimeInfoHeader.kt$( favorite: Boolean, trackingCount: Int, nextUpdate: Instant?, isUserIntervalMode: Boolean, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, onEditIntervalClicked: (() -> Unit)?, onEditCategory: (() -> Unit)?, modifier: Modifier = Modifier, ) - LongParameterList:AnimeInfoHeader.kt$( isTabletUi: Boolean, appBarPadding: Dp, title: String, author: String?, artist: String?, sourceName: String, isStubSource: Boolean, coverDataProvider: () -> Anime, status: Long, onCoverClick: () -> Unit, doSearch: (query: String, global: Boolean) -> Unit, modifier: Modifier = Modifier, ) - LongParameterList:AnimeInfoHeader.kt$( title: String, doSearch: (query: String, global: Boolean) -> Unit, author: String?, artist: String?, status: Long, sourceName: String, isStubSource: Boolean, textAlign: TextAlign? = LocalTextStyle.current.textAlign, ) - LongParameterList:AnimeLibraryComfortableGrid.kt$( items: List<AnimeLibraryItem>, columns: Int, contentPadding: PaddingValues, selection: List<LibraryAnime>, onClick: (LibraryAnime) -> Unit, onLongClick: (LibraryAnime) -> Unit, onClickContinueWatching: ((LibraryAnime) -> Unit)?, searchQuery: String?, onGlobalSearchClicked: () -> Unit, ) - LongParameterList:AnimeLibraryCompactGrid.kt$( items: List<AnimeLibraryItem>, showTitle: Boolean, columns: Int, contentPadding: PaddingValues, selection: List<LibraryAnime>, onClick: (LibraryAnime) -> Unit, onLongClick: (LibraryAnime) -> Unit, onClickContinueWatching: ((LibraryAnime) -> Unit)?, searchQuery: String?, onGlobalSearchClicked: () -> Unit, ) - LongParameterList:AnimeLibraryContent.kt$( categories: List<Category>, searchQuery: String?, selection: List<LibraryAnime>, contentPadding: PaddingValues, currentPage: () -> Int, hasActiveFilters: Boolean, showPageTabs: Boolean, onChangeCurrentPage: (Int) -> Unit, onAnimeClicked: (Long) -> Unit, onContinueWatchingClicked: ((LibraryAnime) -> Unit)?, onToggleSelection: (LibraryAnime) -> Unit, onToggleRangeSelection: (LibraryAnime) -> Unit, onRefresh: (Category?) -> Boolean, onGlobalSearchClicked: () -> Unit, getNumberOfAnimeForCategory: (Category) -> Int?, getDisplayMode: (Int) -> PreferenceMutableState<LibraryDisplayMode>, getColumnsForOrientation: (Boolean) -> PreferenceMutableState<Int>, getAnimeLibraryForPage: (Int) -> List<AnimeLibraryItem>, ) - LongParameterList:AnimeLibraryList.kt$( items: List<AnimeLibraryItem>, contentPadding: PaddingValues, selection: List<LibraryAnime>, onClick: (LibraryAnime) -> Unit, onLongClick: (LibraryAnime) -> Unit, onClickContinueWatching: ((LibraryAnime) -> Unit)?, searchQuery: String?, onGlobalSearchClicked: () -> Unit, ) - LongParameterList:AnimeLibraryPager.kt$( state: PagerState, contentPadding: PaddingValues, hasActiveFilters: Boolean, selectedAnime: List<LibraryAnime>, searchQuery: String?, onGlobalSearchClicked: () -> Unit, getDisplayMode: (Int) -> PreferenceMutableState<LibraryDisplayMode>, getColumnsForOrientation: (Boolean) -> PreferenceMutableState<Int>, getLibraryForPage: (Int) -> List<AnimeLibraryItem>, onClickAnime: (LibraryAnime) -> Unit, onLongClickAnime: (LibraryAnime) -> Unit, onClickContinueWatching: ((LibraryAnime) -> Unit)?, ) - LongParameterList:AnimeRestorer.kt$AnimeRestorer$( anime: Anime, episodes: List<BackupEpisode>, categories: List<Long>, backupCategories: List<BackupCategory>, history: List<BackupAnimeHistory>, tracks: List<BackupAnimeTracking>, ) - LongParameterList:AnimeScreen.kt$( anime: Anime, episodes: List<EpisodeList>, isAnyEpisodeSelected: Boolean, episodeSwipeStartAction: LibraryPreferences.EpisodeSwipeAction, episodeSwipeEndAction: LibraryPreferences.EpisodeSwipeAction, onEpisodeClicked: (Episode, Boolean) -> Unit, onDownloadEpisode: ((List<EpisodeList.Item>, EpisodeDownloadAction) -> Unit)?, onEpisodeSelected: (EpisodeList.Item, Boolean, Boolean, Boolean) -> Unit, onEpisodeSwipe: (EpisodeList.Item, LibraryPreferences.EpisodeSwipeAction) -> Unit, ) - LongParameterList:AnimeScreen.kt$( selected: List<EpisodeList.Item>, onEpisodeClicked: (Episode, Boolean) -> Unit, onMultiBookmarkClicked: (List<Episode>, bookmarked: Boolean) -> Unit, onMultiMarkAsSeenClicked: (List<Episode>, markAsSeen: Boolean) -> Unit, onMarkPreviousAsSeenClicked: (Episode) -> Unit, onDownloadEpisode: ((List<EpisodeList.Item>, EpisodeDownloadAction) -> Unit)?, onMultiDeleteClicked: (List<Episode>) -> Unit, fillFraction: Float, alwaysUseExternalPlayer: Boolean, modifier: Modifier = Modifier, ) - LongParameterList:AnimeScreen.kt$( state: AnimeScreenModel.State.Success, snackbarHostState: SnackbarHostState, nextUpdate: Instant?, episodeSwipeStartAction: LibraryPreferences.EpisodeSwipeAction, episodeSwipeEndAction: LibraryPreferences.EpisodeSwipeAction, showNextEpisodeAirTime: Boolean, alwaysUseExternalPlayer: Boolean, onBackClicked: () -> Unit, onEpisodeClicked: (Episode, Boolean) -> Unit, onDownloadEpisode: ((List<EpisodeList.Item>, EpisodeDownloadAction) -> Unit)?, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, // For tags menu onTagSearch: (String) -> Unit, onCopyTagToClipboard: (tag: String) -> Unit, onFilterButtonClicked: () -> Unit, onRefresh: () -> Unit, onContinueWatching: () -> Unit, onSearch: (query: String, global: Boolean) -> Unit, // For cover dialog onCoverClicked: () -> Unit, // For top action menu onShareClicked: (() -> Unit)?, onDownloadActionClicked: ((DownloadAction) -> Unit)?, onEditCategoryClicked: (() -> Unit)?, onEditIntervalClicked: (() -> Unit)?, onMigrateClicked: (() -> Unit)?, changeAnimeSkipIntro: (() -> Unit)?, onSettingsClicked: (() -> Unit)?, // For bottom action menu onMultiBookmarkClicked: (List<Episode>, bookmarked: Boolean) -> Unit, onMultiMarkAsSeenClicked: (List<Episode>, markAsSeen: Boolean) -> Unit, onMarkPreviousAsSeenClicked: (Episode) -> Unit, onMultiDeleteClicked: (List<Episode>) -> Unit, // For swipe actions onEpisodeSwipe: (EpisodeList.Item, LibraryPreferences.EpisodeSwipeAction) -> Unit, // Episode selection onEpisodeSelected: (EpisodeList.Item, Boolean, Boolean, Boolean) -> Unit, onAllEpisodeSelected: (Boolean) -> Unit, onInvertSelection: () -> Unit, ) - LongParameterList:AnimeScreen.kt$( state: AnimeScreenModel.State.Success, snackbarHostState: SnackbarHostState, nextUpdate: Instant?, episodeSwipeStartAction: LibraryPreferences.EpisodeSwipeAction, episodeSwipeEndAction: LibraryPreferences.EpisodeSwipeAction, showNextEpisodeAirTime: Boolean, alwaysUseExternalPlayer: Boolean, onBackClicked: () -> Unit, onEpisodeClicked: (Episode, Boolean) -> Unit, onDownloadEpisode: ((List<EpisodeList.Item>, EpisodeDownloadAction) -> Unit)?, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, // For tags menu onTagSearch: (String) -> Unit, onCopyTagToClipboard: (tag: String) -> Unit, onFilterClicked: () -> Unit, onRefresh: () -> Unit, onContinueWatching: () -> Unit, onSearch: (query: String, global: Boolean) -> Unit, // For cover dialog onCoverClicked: () -> Unit, // For top action menu onShareClicked: (() -> Unit)?, onDownloadActionClicked: ((DownloadAction) -> Unit)?, onEditCategoryClicked: (() -> Unit)?, onEditIntervalClicked: (() -> Unit)?, onMigrateClicked: (() -> Unit)?, changeAnimeSkipIntro: (() -> Unit)?, onSettingsClicked: (() -> Unit)?, // For bottom action menu onMultiBookmarkClicked: (List<Episode>, bookmarked: Boolean) -> Unit, onMultiMarkAsSeenClicked: (List<Episode>, markAsSeen: Boolean) -> Unit, onMarkPreviousAsSeenClicked: (Episode) -> Unit, onMultiDeleteClicked: (List<Episode>) -> Unit, // For episode swipe onEpisodeSwipe: (EpisodeList.Item, LibraryPreferences.EpisodeSwipeAction) -> Unit, // Episode selection onEpisodeSelected: (EpisodeList.Item, Boolean, Boolean, Boolean) -> Unit, onAllEpisodeSelected: (Boolean) -> Unit, onInvertSelection: () -> Unit, ) - LongParameterList:AnimeScreen.kt$( state: AnimeScreenModel.State.Success, snackbarHostState: SnackbarHostState, nextUpdate: Instant?, isTabletUi: Boolean, episodeSwipeStartAction: LibraryPreferences.EpisodeSwipeAction, episodeSwipeEndAction: LibraryPreferences.EpisodeSwipeAction, showNextEpisodeAirTime: Boolean, alwaysUseExternalPlayer: Boolean, onBackClicked: () -> Unit, onEpisodeClicked: (episode: Episode, alt: Boolean) -> Unit, onDownloadEpisode: ((List<EpisodeList.Item>, EpisodeDownloadAction) -> Unit)?, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, // For tags menu onTagSearch: (String) -> Unit, onFilterButtonClicked: () -> Unit, onRefresh: () -> Unit, onContinueWatching: () -> Unit, onSearch: (query: String, global: Boolean) -> Unit, // For cover dialog onCoverClicked: () -> Unit, // For top action menu onShareClicked: (() -> Unit)?, onDownloadActionClicked: ((DownloadAction) -> Unit)?, onEditCategoryClicked: (() -> Unit)?, onEditFetchIntervalClicked: (() -> Unit)?, onMigrateClicked: (() -> Unit)?, changeAnimeSkipIntro: (() -> Unit)?, // For bottom action menu onMultiBookmarkClicked: (List<Episode>, bookmarked: Boolean) -> Unit, onMultiMarkAsSeenClicked: (List<Episode>, markAsSeen: Boolean) -> Unit, onMarkPreviousAsSeenClicked: (Episode) -> Unit, onMultiDeleteClicked: (List<Episode>) -> Unit, // For episode swipe onEpisodeSwipe: (EpisodeList.Item, LibraryPreferences.EpisodeSwipeAction) -> Unit, // Episode selection onEpisodeSelected: (EpisodeList.Item, Boolean, Boolean, Boolean) -> Unit, onAllEpisodeSelected: (Boolean) -> Unit, onInvertSelection: () -> Unit, ) - LongParameterList:AnimeTrackInfoDialogHome.kt$( title: String, tracker: Tracker, status: StringResource?, onStatusClick: () -> Unit, episodes: String, onEpisodesClick: () -> Unit, score: String?, onScoreClick: (() -> Unit)?, startDate: String?, onStartDateClick: (() -> Unit)?, endDate: String?, onEndDateClick: (() -> Unit)?, onNewSearch: () -> Unit, onOpenInBrowser: () -> Unit, onRemoved: () -> Unit, ) - LongParameterList:AnimeTrackInfoDialogHome.kt$( trackItems: List<AnimeTrackItem>, dateFormat: DateTimeFormatter, onStatusClick: (AnimeTrackItem) -> Unit, onEpisodeClick: (AnimeTrackItem) -> Unit, onScoreClick: (AnimeTrackItem) -> Unit, onStartDateEdit: (AnimeTrackItem) -> Unit, onEndDateEdit: (AnimeTrackItem) -> Unit, onNewSearch: (AnimeTrackItem) -> Unit, onOpenInBrowser: (AnimeTrackItem) -> Unit, onRemoved: (AnimeTrackItem) -> Unit, ) - LongParameterList:AnimeTrackerSearch.kt$( query: TextFieldValue, onQueryChange: (TextFieldValue) -> Unit, onDispatchQuery: () -> Unit, queryResult: Result<List<AnimeTrackSearch>>?, selected: AnimeTrackSearch?, onSelectedChange: (AnimeTrackSearch) -> Unit, onConfirmSelection: () -> Unit, onDismissRequest: () -> Unit, ) - LongParameterList:AnimeUpdatesScreen.kt$( selected: List<AnimeUpdatesItem>, onDownloadEpisode: (List<AnimeUpdatesItem>, EpisodeDownloadAction) -> Unit, onMultiBookmarkClicked: (List<AnimeUpdatesItem>, bookmark: Boolean) -> Unit, onMultiMarkAsSeenClicked: (List<AnimeUpdatesItem>, seen: Boolean) -> Unit, onMultiDeleteClicked: (List<AnimeUpdatesItem>) -> Unit, onOpenEpisode: (AnimeUpdatesItem, altPlayer: Boolean) -> Unit, ) - LongParameterList:AnimeUpdatesScreen.kt$( state: AnimeUpdatesScreenModel.State, snackbarHostState: SnackbarHostState, lastUpdated: Long, onClickCover: (AnimeUpdatesItem) -> Unit, onSelectAll: (Boolean) -> Unit, onInvertSelection: () -> Unit, onUpdateLibrary: () -> Boolean, onDownloadEpisode: (List<AnimeUpdatesItem>, EpisodeDownloadAction) -> Unit, onMultiBookmarkClicked: (List<AnimeUpdatesItem>, bookmark: Boolean) -> Unit, onMultiMarkAsSeenClicked: (List<AnimeUpdatesItem>, seen: Boolean) -> Unit, onMultiDeleteClicked: (List<AnimeUpdatesItem>) -> Unit, onUpdateSelected: (AnimeUpdatesItem, Boolean, Boolean, Boolean) -> Unit, onOpenEpisode: (AnimeUpdatesItem, altPlayer: Boolean) -> Unit, ) - LongParameterList:AnimeUpdatesUiItem.kt$( uiModels: List<AnimeUpdatesUiModel>, selectionMode: Boolean, onUpdateSelected: (AnimeUpdatesItem, Boolean, Boolean, Boolean) -> Unit, onClickCover: (AnimeUpdatesItem) -> Unit, onClickUpdate: (AnimeUpdatesItem, altPlayer: Boolean) -> Unit, onDownloadEpisode: (List<AnimeUpdatesItem>, EpisodeDownloadAction) -> Unit, ) - LongParameterList:AnimeUpdatesUiItem.kt$( update: AnimeUpdatesWithRelations, selected: Boolean, watchProgress: String?, onClick: () -> Unit, onLongClick: () -> Unit, onClickCover: (() -> Unit)?, onDownloadEpisode: ((EpisodeDownloadAction) -> Unit)?, // Download Indicator downloadStateProvider: () -> AnimeDownload.State, downloadProgressProvider: () -> Int, modifier: Modifier = Modifier, ) - LongParameterList:BottomReaderBar.kt$( backgroundColor: Color, readingMode: ReadingMode, onClickReadingMode: () -> Unit, orientation: ReaderOrientation, onClickOrientation: () -> Unit, cropEnabled: Boolean, onClickCropBorder: () -> Unit, onClickSettings: () -> Unit, ) - LongParameterList:BrowseAnimeSourceScreen.kt$( source: AnimeSource?, animeList: LazyPagingItems<StateFlow<Anime>>, columns: GridCells, displayMode: LibraryDisplayMode, snackbarHostState: SnackbarHostState, contentPadding: PaddingValues, onWebViewClick: () -> Unit, onHelpClick: () -> Unit, onLocalAnimeSourceHelpClick: () -> Unit, onAnimeClick: (Anime) -> Unit, onAnimeLongClick: (Anime) -> Unit, ) - LongParameterList:BrowseAnimeSourceToolbar.kt$( searchQuery: String?, onSearchQueryChange: (String?) -> Unit, source: AnimeSource?, displayMode: LibraryDisplayMode, onDisplayModeChange: (LibraryDisplayMode) -> Unit, navigateUp: () -> Unit, onWebViewClick: () -> Unit, onHelpClick: () -> Unit, onSettingsClick: () -> Unit, onSearch: (String) -> Unit, scrollBehavior: TopAppBarScrollBehavior? = null, ) - LongParameterList:BrowseMangaSourceScreen.kt$( source: MangaSource?, mangaList: LazyPagingItems<StateFlow<Manga>>, columns: GridCells, displayMode: LibraryDisplayMode, snackbarHostState: SnackbarHostState, contentPadding: PaddingValues, onWebViewClick: () -> Unit, onHelpClick: () -> Unit, onLocalSourceHelpClick: () -> Unit, onMangaClick: (Manga) -> Unit, onMangaLongClick: (Manga) -> Unit, ) - LongParameterList:BrowseMangaSourceToolbar.kt$( searchQuery: String?, onSearchQueryChange: (String?) -> Unit, source: MangaSource?, displayMode: LibraryDisplayMode, onDisplayModeChange: (LibraryDisplayMode) -> Unit, navigateUp: () -> Unit, onWebViewClick: () -> Unit, onHelpClick: () -> Unit, onSettingsClick: () -> Unit, onSearch: (String) -> Unit, scrollBehavior: TopAppBarScrollBehavior? = null, ) - LongParameterList:CategoryListItem.kt$( category: Category, canMoveUp: Boolean, canMoveDown: Boolean, onMoveUp: (Category) -> Unit, onMoveDown: (Category) -> Unit, onRename: () -> Unit, onHide: () -> Unit, onDelete: () -> Unit, modifier: Modifier = Modifier, ) - LongParameterList:ChapterNavigator.kt$( isRtl: Boolean, onNextChapter: () -> Unit, enabledNext: Boolean, onPreviousChapter: () -> Unit, enabledPrevious: Boolean, currentPage: Int, totalPages: Int, onSliderValueChange: (Int) -> Unit, ) - LongParameterList:ChapterSettingsDialog.kt$( downloadFilter: TriState, onDownloadFilterChanged: ((TriState) -> Unit)?, unreadFilter: TriState, onUnreadFilterChanged: (TriState) -> Unit, bookmarkedFilter: TriState, onBookmarkedFilterChanged: (TriState) -> Unit, scanlatorFilterActive: Boolean, onScanlatorFilterClicked: (() -> Unit), ) - LongParameterList:ChapterSettingsDialog.kt$( onDismissRequest: () -> Unit, manga: Manga? = null, onDownloadFilterChanged: (TriState) -> Unit, onUnreadFilterChanged: (TriState) -> Unit, onBookmarkedFilterChanged: (TriState) -> Unit, scanlatorFilterActive: Boolean, onScanlatorFilterClicked: (() -> Unit), onSortModeChanged: (Long) -> Unit, onDisplayModeChanged: (Long) -> Unit, onSetAsDefault: (applyToExistingManga: Boolean) -> Unit, onResetToDefault: () -> Unit, ) - LongParameterList:ChapterTransition.kt$( topLabel: String, topChapter: Chapter?, topChapterDownloaded: Boolean, bottomLabel: String, bottomChapter: Chapter?, bottomChapterDownloaded: Boolean, fallbackLabel: String, chapterGap: Int, ) - LongParameterList:CommonStorageScreenModel.kt$CommonStorageScreenModel$( private val downloadCacheChanges: SharedFlow<Unit>, private val downloadCacheIsInitializing: StateFlow<Boolean>, private val libraries: Flow<List<T>>, private val categories: (Boolean) -> Flow<List<Category>>, private val getDownloadSize: T.() -> Long, private val getDownloadCount: T.() -> Int, private val getId: T.() -> Long, private val getCategoryId: T.() -> Long, private val getTitle: T.() -> String, private val getThumbnail: T.() -> String?, private val libraryPreferences: LibraryPreferences = Injekt.get(), ) - LongParameterList:EntryBottomActionMenu.kt$( visible: Boolean, onChangeCategoryClicked: () -> Unit, onMarkAsViewedClicked: () -> Unit, onMarkAsUnviewedClicked: () -> Unit, onDownloadClicked: ((DownloadAction) -> Unit)?, onDeleteClicked: () -> Unit, isManga: Boolean, modifier: Modifier = Modifier, ) - LongParameterList:EntryToolbar.kt$( title: String, titleAlphaProvider: () -> Float, hasFilters: Boolean, onBackClicked: () -> Unit, onClickFilter: () -> Unit, onClickShare: (() -> Unit)?, onClickDownload: ((DownloadAction) -> Unit)?, onClickEditCategory: (() -> Unit)?, onClickRefresh: () -> Unit, onClickMigrate: (() -> Unit)?, onClickSettings: (() -> Unit)?, // Anime only changeAnimeSkipIntro: (() -> Unit)?, // For action mode actionModeCounter: Int, onSelectAll: () -> Unit, onInvertSelection: () -> Unit, isManga: Boolean, modifier: Modifier = Modifier, backgroundAlphaProvider: () -> Float = titleAlphaProvider, ) - LongParameterList:EpisodeListDialog.kt$( displayMode: Long, currentEpisodeIndex: Int, episodeList: List<Episode>, dateRelativeTime: Boolean, dateFormat: DateTimeFormatter, onBookmarkClicked: (Long?, Boolean) -> Unit, onEpisodeClicked: (Long?) -> Unit, onDismissRequest: () -> Unit, ) - LongParameterList:EpisodeListDialog.kt$( episode: Episode, isCurrentEpisode: Boolean, title: String, date: String?, onBookmarkClicked: (Long?, Boolean) -> Unit, onEpisodeClicked: (Long?) -> Unit, ) - LongParameterList:EpisodeSettingsDialog.kt$( downloadFilter: TriState, onDownloadFilterChanged: ((TriState) -> Unit)?, unseenFilter: TriState, onUnseenFilterChanged: (TriState) -> Unit, bookmarkedFilter: TriState, onBookmarkedFilterChanged: (TriState) -> Unit, ) - LongParameterList:EpisodeSettingsDialog.kt$( onDismissRequest: () -> Unit, anime: Anime? = null, onDownloadFilterChanged: (TriState) -> Unit, onUnseenFilterChanged: (TriState) -> Unit, onBookmarkedFilterChanged: (TriState) -> Unit, onSortModeChanged: (Long) -> Unit, onDisplayModeChanged: (Long) -> Unit, onSetAsDefault: (applyToExistingAnime: Boolean) -> Unit, ) - LongParameterList:GlobalAnimeSearchScreen.kt$( items: Map<AnimeCatalogueSource, AnimeSearchItemResult>, contentPadding: PaddingValues, getAnime: @Composable (Anime) -> State<Anime>, onClickSource: (AnimeCatalogueSource) -> Unit, onClickItem: (Anime) -> Unit, onLongClickItem: (Anime) -> Unit, fromSourceId: Long? = null, ) - LongParameterList:GlobalAnimeSearchScreen.kt$( state: AnimeSearchScreenModel.State, navigateUp: () -> Unit, onChangeSearchQuery: (String?) -> Unit, onSearch: (String) -> Unit, onChangeSearchFilter: (AnimeSourceFilter) -> Unit, onToggleResults: () -> Unit, getAnime: @Composable (Anime) -> State<Anime>, onClickSource: (AnimeCatalogueSource) -> Unit, onClickItem: (Anime) -> Unit, onLongClickItem: (Anime) -> Unit, ) - LongParameterList:GlobalAnimeSearchToolbar.kt$( searchQuery: String?, progress: Int, total: Int, navigateUp: () -> Unit, onChangeSearchQuery: (String?) -> Unit, onSearch: (String) -> Unit, sourceFilter: AnimeSourceFilter, onChangeSearchFilter: (AnimeSourceFilter) -> Unit, onlyShowHasResults: Boolean, onToggleResults: () -> Unit, scrollBehavior: TopAppBarScrollBehavior, ) - LongParameterList:GlobalMangaSearchScreen.kt$( items: Map<CatalogueSource, MangaSearchItemResult>, contentPadding: PaddingValues, getManga: @Composable (Manga) -> State<Manga>, onClickSource: (CatalogueSource) -> Unit, onClickItem: (Manga) -> Unit, onLongClickItem: (Manga) -> Unit, fromSourceId: Long? = null, ) - LongParameterList:GlobalMangaSearchScreen.kt$( state: MangaSearchScreenModel.State, navigateUp: () -> Unit, onChangeSearchQuery: (String?) -> Unit, onSearch: (String) -> Unit, onChangeSearchFilter: (MangaSourceFilter) -> Unit, onToggleResults: () -> Unit, getManga: @Composable (Manga) -> State<Manga>, onClickSource: (CatalogueSource) -> Unit, onClickItem: (Manga) -> Unit, onLongClickItem: (Manga) -> Unit, ) - LongParameterList:GlobalMangaSearchToolbar.kt$( searchQuery: String?, progress: Int, total: Int, navigateUp: () -> Unit, onChangeSearchQuery: (String?) -> Unit, onSearch: (String) -> Unit, sourceFilter: MangaSourceFilter, onChangeSearchFilter: (MangaSourceFilter) -> Unit, onlyShowHasResults: Boolean, onToggleResults: () -> Unit, scrollBehavior: TopAppBarScrollBehavior, ) - LongParameterList:LibraryToolbar.kt$( hasActiveFilters: Boolean, selectedCount: Int, title: LibraryToolbarTitle, onClickUnselectAll: () -> Unit, onClickSelectAll: () -> Unit, onClickInvertSelection: () -> Unit, onClickFilter: () -> Unit, onClickRefresh: () -> Unit, onClickGlobalUpdate: () -> Unit, onClickOpenRandomEntry: () -> Unit, searchQuery: String?, onSearchQueryChange: (String?) -> Unit, scrollBehavior: TopAppBarScrollBehavior?, navigateUp: (() -> Unit)? = null, ) - LongParameterList:LibraryToolbar.kt$( title: LibraryToolbarTitle, hasFilters: Boolean, searchQuery: String?, onSearchQueryChange: (String?) -> Unit, onClickFilter: () -> Unit, onClickRefresh: () -> Unit, onClickGlobalUpdate: () -> Unit, onClickOpenRandomEntry: () -> Unit, scrollBehavior: TopAppBarScrollBehavior?, navigateUp: (() -> Unit)?, ) - LongParameterList:ListPreferenceWidget.kt$( value: T, title: String, subtitle: String?, icon: ImageVector?, entries: Map<out T, String>, onValueChange: (T) -> Unit, ) - LongParameterList:MangaCategoryScreen.kt$( categories: List<Category>, lazyListState: LazyListState, paddingValues: PaddingValues, onClickRename: (Category) -> Unit, onClickHide: (Category) -> Unit, onClickDelete: (Category) -> Unit, onMoveUp: (Category) -> Unit, onMoveDown: (Category) -> Unit, ) - LongParameterList:MangaCategoryScreen.kt$( state: MangaCategoryScreenState.Success, onClickCreate: () -> Unit, onClickRename: (Category) -> Unit, onClickHide: (Category) -> Unit, onClickDelete: (Category) -> Unit, onClickMoveUp: (Category) -> Unit, onClickMoveDown: (Category) -> Unit, ) - LongParameterList:MangaChapterListItem.kt$( action: LibraryPreferences.ChapterSwipeAction, read: Boolean, bookmark: Boolean, downloadState: MangaDownload.State, background: Color, onSwipe: () -> Unit, ) - LongParameterList:MangaChapterListItem.kt$( title: String, date: String?, readProgress: String?, scanlator: String?, read: Boolean, bookmark: Boolean, selected: Boolean, downloadIndicatorEnabled: Boolean, downloadStateProvider: () -> MangaDownload.State, downloadProgressProvider: () -> Int, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, onLongClick: () -> Unit, onClick: () -> Unit, onDownloadClick: ((ChapterDownloadAction) -> Unit)?, onChapterSwipe: (LibraryPreferences.ChapterSwipeAction) -> Unit, modifier: Modifier = Modifier, ) - LongParameterList:MangaCoverDialog.kt$( coverDataProvider: () -> Manga, isCustomCover: Boolean, snackbarHostState: SnackbarHostState, onShareClick: () -> Unit, onSaveClick: () -> Unit, onEditClick: ((EditCoverAction) -> Unit)?, onDismissRequest: () -> 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:MangaExtensionDetailsScreen.kt$( contentPadding: PaddingValues, extension: MangaExtension.Installed, sources: ImmutableList<MangaExtensionSourceItem>, onClickSourcePreferences: (sourceId: Long) -> Unit, onClickUninstall: () -> Unit, onClickSource: (sourceId: Long) -> Unit, ) - LongParameterList:MangaExtensionDetailsScreen.kt$( navigateUp: () -> Unit, state: MangaExtensionDetailsScreenModel.State, onClickSourcePreferences: (sourceId: Long) -> Unit, onClickEnableAll: () -> Unit, onClickDisableAll: () -> Unit, onClickClearCookies: () -> Unit, onClickUninstall: () -> Unit, onClickSource: (sourceId: Long) -> Unit, ) - LongParameterList:MangaExtensionsScreen.kt$( item: MangaExtensionUiModel.Item, onClickItem: (MangaExtension) -> Unit, onLongClickItem: (MangaExtension) -> Unit, onClickItemCancel: (MangaExtension) -> Unit, onClickItemAction: (MangaExtension) -> Unit, onClickItemSecondaryAction: (MangaExtension) -> Unit, modifier: Modifier = Modifier, ) - LongParameterList:MangaExtensionsScreen.kt$( state: MangaExtensionsScreenModel.State, contentPadding: PaddingValues, onLongClickItem: (MangaExtension) -> Unit, onOpenWebView: (MangaExtension.Available) -> Unit, onClickItemCancel: (MangaExtension) -> Unit, onInstallExtension: (MangaExtension.Available) -> Unit, onUninstallExtension: (MangaExtension) -> Unit, onUpdateExtension: (MangaExtension.Installed) -> Unit, onTrustExtension: (MangaExtension.Untrusted) -> Unit, onOpenExtension: (MangaExtension.Installed) -> Unit, onClickUpdateAll: () -> Unit, ) - LongParameterList:MangaExtensionsScreen.kt$( state: MangaExtensionsScreenModel.State, contentPadding: PaddingValues, searchQuery: String?, onLongClickItem: (MangaExtension) -> Unit, onClickItemCancel: (MangaExtension) -> Unit, onOpenWebView: (MangaExtension.Available) -> Unit, onInstallExtension: (MangaExtension.Available) -> Unit, onUninstallExtension: (MangaExtension) -> Unit, onUpdateExtension: (MangaExtension.Installed) -> Unit, onTrustExtension: (MangaExtension.Untrusted) -> Unit, onOpenExtension: (MangaExtension.Installed) -> Unit, onClickUpdateAll: () -> Unit, onRefresh: () -> Unit, ) - LongParameterList:MangaInfoHeader.kt$( appBarPadding: Dp, coverDataProvider: () -> Manga, onCoverClick: () -> Unit, title: String, doSearch: (query: String, global: Boolean) -> Unit, author: String?, artist: String?, status: Long, sourceName: String, isStubSource: Boolean, ) - LongParameterList:MangaInfoHeader.kt$( favorite: Boolean, trackingCount: Int, nextUpdate: Instant?, isUserIntervalMode: Boolean, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, onEditIntervalClicked: (() -> Unit)?, onEditCategory: (() -> Unit)?, modifier: Modifier = Modifier, ) - LongParameterList:MangaInfoHeader.kt$( isTabletUi: Boolean, appBarPadding: Dp, title: String, author: String?, artist: String?, sourceName: String, isStubSource: Boolean, coverDataProvider: () -> Manga, status: Long, onCoverClick: () -> Unit, doSearch: (query: String, global: Boolean) -> Unit, modifier: Modifier = Modifier, ) - LongParameterList:MangaInfoHeader.kt$( title: String, doSearch: (query: String, global: Boolean) -> Unit, author: String?, artist: String?, status: Long, sourceName: String, isStubSource: Boolean, textAlign: TextAlign? = LocalTextStyle.current.textAlign, ) - LongParameterList:MangaLibraryComfortableGrid.kt$( items: List<MangaLibraryItem>, columns: Int, contentPadding: PaddingValues, selection: List<LibraryManga>, onClick: (LibraryManga) -> Unit, onLongClick: (LibraryManga) -> Unit, onClickContinueReading: ((LibraryManga) -> Unit)?, searchQuery: String?, onGlobalSearchClicked: () -> Unit, ) - LongParameterList:MangaLibraryCompactGrid.kt$( items: List<MangaLibraryItem>, showTitle: Boolean, columns: Int, contentPadding: PaddingValues, selection: List<LibraryManga>, onClick: (LibraryManga) -> Unit, onLongClick: (LibraryManga) -> Unit, onClickContinueReading: ((LibraryManga) -> Unit)?, searchQuery: String?, onGlobalSearchClicked: () -> Unit, ) - LongParameterList:MangaLibraryContent.kt$( categories: List<Category>, searchQuery: String?, selection: List<LibraryManga>, contentPadding: PaddingValues, currentPage: () -> Int, hasActiveFilters: Boolean, showPageTabs: Boolean, onChangeCurrentPage: (Int) -> Unit, onMangaClicked: (Long) -> Unit, onContinueReadingClicked: ((LibraryManga) -> Unit)?, onToggleSelection: (LibraryManga) -> Unit, onToggleRangeSelection: (LibraryManga) -> Unit, onRefresh: (Category?) -> Boolean, onGlobalSearchClicked: () -> Unit, getNumberOfMangaForCategory: (Category) -> Int?, getDisplayMode: (Int) -> PreferenceMutableState<LibraryDisplayMode>, getColumnsForOrientation: (Boolean) -> PreferenceMutableState<Int>, getLibraryForPage: (Int) -> List<MangaLibraryItem>, ) - LongParameterList:MangaLibraryList.kt$( items: List<MangaLibraryItem>, contentPadding: PaddingValues, selection: List<LibraryManga>, onClick: (LibraryManga) -> Unit, onLongClick: (LibraryManga) -> Unit, onClickContinueReading: ((LibraryManga) -> Unit)?, searchQuery: String?, onGlobalSearchClicked: () -> Unit, ) - LongParameterList:MangaLibraryPager.kt$( state: PagerState, contentPadding: PaddingValues, hasActiveFilters: Boolean, selectedManga: List<LibraryManga>, searchQuery: String?, onGlobalSearchClicked: () -> Unit, getDisplayMode: (Int) -> PreferenceMutableState<LibraryDisplayMode>, getColumnsForOrientation: (Boolean) -> PreferenceMutableState<Int>, getLibraryForPage: (Int) -> List<MangaLibraryItem>, onClickManga: (LibraryManga) -> Unit, onLongClickManga: (LibraryManga) -> Unit, onClickContinueReading: ((LibraryManga) -> Unit)?, ) - LongParameterList:MangaRestorer.kt$MangaRestorer$( manga: Manga, chapters: List<BackupChapter>, categories: List<Long>, backupCategories: List<BackupCategory>, history: List<BackupHistory>, tracks: List<BackupTracking>, excludedScanlators: List<String>, ) - LongParameterList:MangaScreen.kt$( manga: Manga, chapters: List<ChapterList>, isAnyChapterSelected: Boolean, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, onChapterClicked: (Chapter) -> Unit, onDownloadChapter: ((List<ChapterList.Item>, ChapterDownloadAction) -> Unit)?, onChapterSelected: (ChapterList.Item, Boolean, Boolean, Boolean) -> Unit, onChapterSwipe: (ChapterList.Item, LibraryPreferences.ChapterSwipeAction) -> Unit, ) - LongParameterList:MangaScreen.kt$( selected: List<ChapterList.Item>, onMultiBookmarkClicked: (List<Chapter>, bookmarked: Boolean) -> Unit, onMultiMarkAsReadClicked: (List<Chapter>, markAsRead: Boolean) -> Unit, onMarkPreviousAsReadClicked: (Chapter) -> Unit, onDownloadChapter: ((List<ChapterList.Item>, ChapterDownloadAction) -> Unit)?, onMultiDeleteClicked: (List<Chapter>) -> Unit, fillFraction: Float, modifier: Modifier = Modifier, ) - LongParameterList:MangaScreen.kt$( state: MangaScreenModel.State.Success, snackbarHostState: SnackbarHostState, nextUpdate: Instant?, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, onBackClicked: () -> Unit, onChapterClicked: (Chapter) -> Unit, onDownloadChapter: ((List<ChapterList.Item>, ChapterDownloadAction) -> Unit)?, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, // For tags menu onTagSearch: (String) -> Unit, onCopyTagToClipboard: (tag: String) -> Unit, onFilterButtonClicked: () -> Unit, onRefresh: () -> Unit, onContinueReading: () -> Unit, onSearch: (query: String, global: Boolean) -> Unit, // For cover dialog onCoverClicked: () -> Unit, // For top action menu onShareClicked: (() -> Unit)?, onDownloadActionClicked: ((DownloadAction) -> Unit)?, onEditCategoryClicked: (() -> Unit)?, onEditIntervalClicked: (() -> Unit)?, onMigrateClicked: (() -> Unit)?, onSettingsClicked: (() -> Unit)?, // For bottom action menu onMultiBookmarkClicked: (List<Chapter>, bookmarked: Boolean) -> Unit, onMultiMarkAsReadClicked: (List<Chapter>, markAsRead: Boolean) -> Unit, onMarkPreviousAsReadClicked: (Chapter) -> Unit, onMultiDeleteClicked: (List<Chapter>) -> Unit, // For swipe actions onChapterSwipe: (ChapterList.Item, LibraryPreferences.ChapterSwipeAction) -> Unit, // Chapter selection onChapterSelected: (ChapterList.Item, Boolean, Boolean, Boolean) -> Unit, onAllChapterSelected: (Boolean) -> Unit, onInvertSelection: () -> Unit, ) - LongParameterList:MangaScreen.kt$( state: MangaScreenModel.State.Success, snackbarHostState: SnackbarHostState, nextUpdate: Instant?, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, onBackClicked: () -> Unit, onChapterClicked: (Chapter) -> Unit, onDownloadChapter: ((List<ChapterList.Item>, ChapterDownloadAction) -> Unit)?, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, // For tags menu onTagSearch: (String) -> Unit, onCopyTagToClipboard: (tag: String) -> Unit, onFilterClicked: () -> Unit, onRefresh: () -> Unit, onContinueReading: () -> Unit, onSearch: (query: String, global: Boolean) -> Unit, // For cover dialog onCoverClicked: () -> Unit, // For top action menu onShareClicked: (() -> Unit)?, onDownloadActionClicked: ((DownloadAction) -> Unit)?, onEditCategoryClicked: (() -> Unit)?, onEditIntervalClicked: (() -> Unit)?, onMigrateClicked: (() -> Unit)?, onSettingsClicked: (() -> Unit)?, // For bottom action menu onMultiBookmarkClicked: (List<Chapter>, bookmarked: Boolean) -> Unit, onMultiMarkAsReadClicked: (List<Chapter>, markAsRead: Boolean) -> Unit, onMarkPreviousAsReadClicked: (Chapter) -> Unit, onMultiDeleteClicked: (List<Chapter>) -> Unit, // For chapter swipe onChapterSwipe: (ChapterList.Item, LibraryPreferences.ChapterSwipeAction) -> Unit, // Chapter selection onChapterSelected: (ChapterList.Item, Boolean, Boolean, Boolean) -> Unit, onAllChapterSelected: (Boolean) -> Unit, onInvertSelection: () -> Unit, ) - LongParameterList:MangaScreen.kt$( state: MangaScreenModel.State.Success, snackbarHostState: SnackbarHostState, nextUpdate: Instant?, isTabletUi: Boolean, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, onBackClicked: () -> Unit, onChapterClicked: (Chapter) -> Unit, onDownloadChapter: ((List<ChapterList.Item>, ChapterDownloadAction) -> Unit)?, onAddToLibraryClicked: () -> Unit, onWebViewClicked: (() -> Unit)?, onWebViewLongClicked: (() -> Unit)?, onTrackingClicked: () -> Unit, // For tags menu onTagSearch: (String) -> Unit, onFilterButtonClicked: () -> Unit, onRefresh: () -> Unit, onContinueReading: () -> Unit, onSearch: (query: String, global: Boolean) -> Unit, // For cover dialog onCoverClicked: () -> Unit, // For top action menu onShareClicked: (() -> Unit)?, onDownloadActionClicked: ((DownloadAction) -> Unit)?, onEditCategoryClicked: (() -> Unit)?, onEditFetchIntervalClicked: (() -> Unit)?, onMigrateClicked: (() -> Unit)?, // For bottom action menu onMultiBookmarkClicked: (List<Chapter>, bookmarked: Boolean) -> Unit, onMultiMarkAsReadClicked: (List<Chapter>, markAsRead: Boolean) -> Unit, onMarkPreviousAsReadClicked: (Chapter) -> Unit, onMultiDeleteClicked: (List<Chapter>) -> Unit, // For chapter swipe onChapterSwipe: (ChapterList.Item, LibraryPreferences.ChapterSwipeAction) -> Unit, // Chapter selection onChapterSelected: (ChapterList.Item, Boolean, Boolean, Boolean) -> Unit, onAllChapterSelected: (Boolean) -> Unit, onInvertSelection: () -> Unit, ) - LongParameterList:MangaTrackInfoDialogHome.kt$( title: String, tracker: Tracker, status: StringResource?, onStatusClick: () -> Unit, chapters: String, onChaptersClick: () -> Unit, score: String?, onScoreClick: (() -> Unit)?, startDate: String?, onStartDateClick: (() -> Unit)?, endDate: String?, onEndDateClick: (() -> Unit)?, onNewSearch: () -> Unit, onOpenInBrowser: () -> Unit, onRemoved: () -> Unit, ) - LongParameterList:MangaTrackInfoDialogHome.kt$( trackItems: List<MangaTrackItem>, dateFormat: DateTimeFormatter, onStatusClick: (MangaTrackItem) -> Unit, onChapterClick: (MangaTrackItem) -> Unit, onScoreClick: (MangaTrackItem) -> Unit, onStartDateEdit: (MangaTrackItem) -> Unit, onEndDateEdit: (MangaTrackItem) -> Unit, onNewSearch: (MangaTrackItem) -> Unit, onOpenInBrowser: (MangaTrackItem) -> Unit, onRemoved: (MangaTrackItem) -> Unit, ) - LongParameterList:MangaTrackerSearch.kt$( query: TextFieldValue, onQueryChange: (TextFieldValue) -> Unit, onDispatchQuery: () -> Unit, queryResult: Result<List<MangaTrackSearch>>?, selected: MangaTrackSearch?, onSelectedChange: (MangaTrackSearch) -> Unit, onConfirmSelection: () -> Unit, onDismissRequest: () -> Unit, ) - LongParameterList:MangaUpdatesScreen.kt$( state: MangaUpdatesScreenModel.State, snackbarHostState: SnackbarHostState, lastUpdated: Long, onClickCover: (MangaUpdatesItem) -> Unit, onSelectAll: (Boolean) -> Unit, onInvertSelection: () -> Unit, onUpdateLibrary: () -> Boolean, onDownloadChapter: (List<MangaUpdatesItem>, ChapterDownloadAction) -> Unit, onMultiBookmarkClicked: (List<MangaUpdatesItem>, bookmark: Boolean) -> Unit, onMultiMarkAsReadClicked: (List<MangaUpdatesItem>, read: Boolean) -> Unit, onMultiDeleteClicked: (List<MangaUpdatesItem>) -> Unit, onUpdateSelected: (MangaUpdatesItem, Boolean, Boolean, Boolean) -> Unit, onOpenChapter: (MangaUpdatesItem) -> Unit, ) - LongParameterList:MangaUpdatesUiItem.kt$( uiModels: List<MangaUpdatesUiModel>, selectionMode: Boolean, onUpdateSelected: (MangaUpdatesItem, Boolean, Boolean, Boolean) -> Unit, onClickCover: (MangaUpdatesItem) -> Unit, onClickUpdate: (MangaUpdatesItem) -> Unit, onDownloadChapter: (List<MangaUpdatesItem>, ChapterDownloadAction) -> Unit, ) - LongParameterList:MangaUpdatesUiItem.kt$( update: MangaUpdatesWithRelations, selected: Boolean, readProgress: String?, onClick: () -> Unit, onLongClick: () -> Unit, onClickCover: (() -> Unit)?, onDownloadChapter: ((ChapterDownloadAction) -> Unit)?, // Download Indicator downloadStateProvider: () -> MangaDownload.State, downloadProgressProvider: () -> Int, modifier: Modifier = Modifier, ) - LongParameterList:MigrateAnimeDialog.kt$( oldAnime: Anime, newAnime: Anime, screenModel: MigrateAnimeDialogScreenModel, onDismissRequest: () -> Unit, onClickTitle: () -> Unit, onPopScreen: () -> Unit, ) - LongParameterList:MigrateAnimeDialog.kt$MigrateAnimeDialogScreenModel$( oldSource: AnimeSource?, newSource: AnimeSource, oldAnime: Anime, newAnime: Anime, sourceEpisodes: List<SEpisode>, replace: Boolean, flags: Int, ) - LongParameterList:MigrateAnimeSearchScreen.kt$( state: AnimeSearchScreenModel.State, fromSourceId: Long?, navigateUp: () -> Unit, onChangeSearchQuery: (String?) -> Unit, onSearch: (String) -> Unit, onChangeSearchFilter: (AnimeSourceFilter) -> Unit, onToggleResults: () -> Unit, getAnime: @Composable (Anime) -> State<Anime>, onClickSource: (AnimeCatalogueSource) -> Unit, onClickItem: (Anime) -> Unit, onLongClickItem: (Anime) -> Unit, ) - LongParameterList:MigrateAnimeSourceScreen.kt$( list: ImmutableList<Pair<AnimeSource, Long>>, contentPadding: PaddingValues, onClickItem: (AnimeSource) -> Unit, onLongClickItem: (AnimeSource) -> Unit, sortingMode: SetMigrateSorting.Mode, onToggleSortingMode: () -> Unit, sortingDirection: SetMigrateSorting.Direction, onToggleSortingDirection: () -> Unit, ) - LongParameterList:MigrateMangaDialog.kt$( oldManga: Manga, newManga: Manga, screenModel: MigrateMangaDialogScreenModel, onDismissRequest: () -> Unit, onClickTitle: () -> Unit, onPopScreen: () -> Unit, ) - LongParameterList:MigrateMangaDialog.kt$MigrateMangaDialogScreenModel$( oldSource: MangaSource?, newSource: MangaSource, oldManga: Manga, newManga: Manga, sourceChapters: List<SChapter>, replace: Boolean, flags: Int, ) - LongParameterList:MigrateMangaSearchScreen.kt$( state: MangaSearchScreenModel.State, fromSourceId: Long?, navigateUp: () -> Unit, onChangeSearchQuery: (String?) -> Unit, onSearch: (String) -> Unit, onChangeSearchFilter: (MangaSourceFilter) -> Unit, onToggleResults: () -> Unit, getManga: @Composable (Manga) -> State<Manga>, onClickSource: (CatalogueSource) -> Unit, onClickItem: (Manga) -> Unit, onLongClickItem: (Manga) -> Unit, ) - LongParameterList:MigrateMangaSourceScreen.kt$( list: ImmutableList<Pair<Source, Long>>, contentPadding: PaddingValues, onClickItem: (Source) -> Unit, onLongClickItem: (Source) -> Unit, sortingMode: SetMigrateSorting.Mode, onToggleSortingMode: () -> Unit, sortingDirection: SetMigrateSorting.Direction, onToggleSortingDirection: () -> Unit, ) - LongParameterList:Migrations.kt$Migrations$( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, playerPreferences: PlayerPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, ) - LongParameterList:MoreScreen.kt$( downloadQueueStateProvider: () -> DownloadQueueState, downloadedOnly: Boolean, onDownloadedOnlyChange: (Boolean) -> Unit, incognitoMode: Boolean, onIncognitoModeChange: (Boolean) -> Unit, isFDroid: Boolean, navStyle: NavStyle, onClickAlt: () -> Unit, onClickDownloadQueue: () -> Unit, onClickCategories: () -> Unit, onClickStats: () -> Unit, onClickStorage: () -> Unit, onClickDataAndStorage: () -> Unit, onClickSettings: () -> Unit, onClickAbout: () -> Unit, ) - LongParameterList:PictureInPictureHandler.kt$PictureInPictureHandler$( context: Context, title: String, subtitle: String, paused: Boolean, replaceWithPrevious: Boolean, pipOnExit: Boolean, videoAspect: Double, playlistCount: Int, playlistPosition: Int, ) - LongParameterList:ReaderAppBars.kt$( visible: Boolean, fullscreen: Boolean, mangaTitle: String?, chapterTitle: String?, navigateUp: () -> Unit, onClickTopAppBar: () -> Unit, bookmarked: Boolean, onToggleBookmarked: () -> Unit, onOpenInWebView: (() -> Unit)?, onShare: (() -> Unit)?, viewer: Viewer?, onNextChapter: () -> Unit, enabledNext: Boolean, onPreviousChapter: () -> Unit, enabledPrevious: Boolean, currentPage: Int, totalPages: Int, onSliderValueChange: (Int) -> Unit, readingMode: ReadingMode, onClickReadingMode: () -> Unit, orientation: ReaderOrientation, onClickOrientation: () -> Unit, cropEnabled: Boolean, onClickCropBorder: () -> Unit, onClickSettings: () -> Unit, ) - LongParameterList:ScreenshotOptionsSheet.kt$( screenModel: PlayerSettingsScreenModel, cachePath: String, onSetAsCover: (() -> InputStream) -> Unit, onShare: (() -> InputStream) -> Unit, onSave: (() -> InputStream) -> Unit, onDismissRequest: () -> Unit, ) - LongParameterList:StreamsCatalogSheet.kt$( isEpisodeOnline: Boolean?, videoStreams: PlayerViewModel.VideoStreams, openContentFd: (Uri) -> String?, onQualitySelected: (Int) -> Unit, onSubtitleSelected: (Int) -> Unit, onAudioSelected: (Int) -> Unit, onSettingsClicked: () -> Unit, onDismissRequest: () -> Unit, ) - LongParameterList:SubtitleSettingsSheet.kt$( font: String, isBold: Boolean, isItalic: Boolean, textColor: Color, borderColor: Color, backgroundColor: Color, ) - LongParameterList:SyncChaptersWithSource.kt$SyncChaptersWithSource$( private val downloadManager: MangaDownloadManager, private val downloadProvider: MangaDownloadProvider, 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:SyncEpisodesWithSource.kt$SyncEpisodesWithSource$( private val downloadManager: AnimeDownloadManager, private val downloadProvider: AnimeDownloadProvider, private val episodeRepository: EpisodeRepository, private val shouldUpdateDbEpisode: ShouldUpdateDbEpisode, private val updateAnime: UpdateAnime, private val updateEpisode: UpdateEpisode, private val getEpisodesByAnimeId: GetEpisodesByAnimeId, ) - LongParameterList:TrackInfoDialogSelector.kt$( selection: Int, onSelectionChange: (Int) -> Unit, range: Iterable<Int>, onConfirm: () -> Unit, onDismissRequest: () -> Unit, isManga: Boolean, ) - LongParameterList:TrackInfoDialogSelector.kt$( title: String, initialSelectedDateMillis: Long, selectableDates: SelectableDates, onConfirm: (Long) -> Unit, onRemove: (() -> Unit)?, onDismissRequest: () -> Unit, ) - LongParameterList:TriStateListDialog.kt$( 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, ) - LongParameterList:WebViewScreenContent.kt$( onNavigateUp: () -> Unit, initialTitle: String?, url: String, onShare: (String) -> Unit, onOpenInBrowser: (String) -> Unit, onClearCookies: (String) -> Unit, headers: Map<String, String> = emptyMap(), onUrlChange: (String) -> Unit = {}, ) - LongParameterList:WebtoonRecyclerView.kt$WebtoonRecyclerView$( fromRate: Float, toRate: Float, fromX: Float, toX: Float, fromY: Float, toY: Float, ) - LoopWithTooManyJumpStatements:AnimeDownloadStore.kt$AnimeDownloadStore$for - LoopWithTooManyJumpStatements:AnimeUpdatesScreenModel.kt$AnimeUpdatesScreenModel$for - LoopWithTooManyJumpStatements:Kavita.kt$Kavita$for - LoopWithTooManyJumpStatements:MangaDownloadStore.kt$MangaDownloadStore$for - LoopWithTooManyJumpStatements:MangaUpdatesScreenModel.kt$MangaUpdatesScreenModel$for - LoopWithTooManyJumpStatements:PlayerActivity.kt$PlayerActivity$for - MagicNumber:AdaptiveSheet.kt$220 - MagicNumber:AdaptiveSheet.kt$90 - MagicNumber:AniChartApi.kt$AniChartApi$1000 - MagicNumber:AniSkipApi.kt$AniSkipApi.PlayerUtils$0.15f - MagicNumber:AniSkipApi.kt$AniSkipApi.PlayerUtils$100 - MagicNumber:AniSkipApi.kt$AniSkipApi.PlayerUtils$500 - 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:AnimeDownload.kt$AnimeDownload$100 - MagicNumber:AnimeDownload.kt$AnimeDownload.State.DOWNLOADED$3 - MagicNumber:AnimeDownload.kt$AnimeDownload.State.ERROR$4 - MagicNumber:AnimeDownloadHolder.kt$AnimeDownloadHolder$100 - MagicNumber:AnimeDownloadNotifier.kt$AnimeDownloadNotifier$100 - MagicNumber:AnimeDownloadNotifier.kt$AnimeDownloadNotifier$15 - MagicNumber:AnimeDownloadNotifier.kt$AnimeDownloadNotifier$30 - MagicNumber:AnimeDownloader.kt$AnimeDownloader$1.01F - MagicNumber:AnimeDownloader.kt$AnimeDownloader$10 - MagicNumber:AnimeDownloader.kt$AnimeDownloader$100 - MagicNumber:AnimeDownloader.kt$AnimeDownloader$100.0 - MagicNumber:AnimeDownloader.kt$AnimeDownloader$1000L - MagicNumber:AnimeDownloader.kt$AnimeDownloader$1024 - MagicNumber:AnimeDownloader.kt$AnimeDownloader$10L - MagicNumber:AnimeDownloader.kt$AnimeDownloader$3 - MagicNumber:AnimeDownloader.kt$AnimeDownloader$3600 - MagicNumber:AnimeDownloader.kt$AnimeDownloader$3600000L - MagicNumber:AnimeDownloader.kt$AnimeDownloader$4 - MagicNumber:AnimeDownloader.kt$AnimeDownloader$50 - MagicNumber:AnimeDownloader.kt$AnimeDownloader$60 - MagicNumber:AnimeDownloader.kt$AnimeDownloader$60000L - MagicNumber:AnimeExtensionDetailsScreen.kt$1.5f - MagicNumber:AnimeExtensionInstallService.kt$AnimeExtensionInstallService$100 - MagicNumber:AnimeInfoHeader.kt$0.2f - MagicNumber:AnimeInfoHeader.kt$0.65f - MagicNumber:AnimeLibraryScreenModel.kt$AnimeLibraryScreenModel$10 - MagicNumber:AnimeLibraryScreenModel.kt$AnimeLibraryScreenModel$25 - MagicNumber:AnimeLibraryScreenModel.kt$AnimeLibraryScreenModel$5 - MagicNumber:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob$5 - MagicNumber:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob.Companion$10 - MagicNumber:AnimeLibraryUpdateNotifier.kt$AnimeLibraryUpdateNotifier$40 - MagicNumber:AnimeMetadataUpdateJob.kt$AnimeMetadataUpdateJob$5 - MagicNumber:AnimeScreen.kt$1000L - MagicNumber:AnimeScreen.kt$3600000L - MagicNumber:AnimeScreenModel.kt$AnimeScreenModel$10 - MagicNumber:AnimeScreenModel.kt$AnimeScreenModel$103 - MagicNumber:AnimeScreenModel.kt$AnimeScreenModel$25 - MagicNumber:AnimeScreenModel.kt$AnimeScreenModel$5 - MagicNumber:AnimeTrackInfoDialog.kt$TrackEpisodeSelectorScreen.Model$10000 - MagicNumber:AnimeTrackerSearchPreviewProvider.kt$AnimeTrackerSearchPreviewProvider$10 - MagicNumber:AnimeTrackerSearchPreviewProvider.kt$AnimeTrackerSearchPreviewProvider$100 - MagicNumber:AnimeTrackerSearchPreviewProvider.kt$AnimeTrackerSearchPreviewProvider$1000L - MagicNumber:AnimeTrackerSearchPreviewProvider.kt$AnimeTrackerSearchPreviewProvider$100L - MagicNumber:AnimeTrackerSearchPreviewProvider.kt$AnimeTrackerSearchPreviewProvider$30 - MagicNumber:AnimeTrackerSearchPreviewProvider.kt$AnimeTrackerSearchPreviewProvider$365 - MagicNumber:AnimeTrackerSearchPreviewProvider.kt$AnimeTrackerSearchPreviewProvider$40 - MagicNumber:AnimeUpdatesScreenModel.kt$AnimeUpdatesScreenModel$3 - MagicNumber:AnimeUpdatesUiItem.kt$3600000L - MagicNumber:App.kt$App$300 - MagicNumber:App.kt$App$8 - MagicNumber:AppBar.kt$0.08f - MagicNumber:AppBar.kt$0.12f - 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:Backup.kt$Backup$100 - MagicNumber:Backup.kt$Backup$101 - MagicNumber:Backup.kt$Backup$102 - MagicNumber:Backup.kt$Backup$103 - MagicNumber:Backup.kt$Backup$104 - MagicNumber:Backup.kt$Backup$105 - MagicNumber:Backup.kt$Backup$106 - MagicNumber:Backup.kt$Backup$3 - MagicNumber:Backup.kt$Backup$4 - MagicNumber:BackupAnime.kt$BackupAnime$100 - MagicNumber:BackupAnime.kt$BackupAnime$101 - MagicNumber:BackupAnime.kt$BackupAnime$102 - MagicNumber:BackupAnime.kt$BackupAnime$103 - MagicNumber:BackupAnime.kt$BackupAnime$104 - MagicNumber:BackupAnime.kt$BackupAnime$105 - MagicNumber:BackupAnime.kt$BackupAnime$106 - MagicNumber:BackupAnime.kt$BackupAnime$107 - MagicNumber:BackupAnime.kt$BackupAnime$13 - MagicNumber:BackupAnime.kt$BackupAnime$16 - MagicNumber:BackupAnime.kt$BackupAnime$17 - MagicNumber:BackupAnime.kt$BackupAnime$18 - MagicNumber:BackupAnime.kt$BackupAnime$3 - MagicNumber:BackupAnime.kt$BackupAnime$4 - MagicNumber:BackupAnime.kt$BackupAnime$5 - MagicNumber:BackupAnime.kt$BackupAnime$6 - MagicNumber:BackupAnime.kt$BackupAnime$7 - MagicNumber:BackupAnime.kt$BackupAnime$8 - MagicNumber:BackupAnime.kt$BackupAnime$9 - MagicNumber:BackupAnimeHistory.kt$BackupAnimeHistory$3 - MagicNumber:BackupAnimeTracking.kt$BackupAnimeTracking$10 - MagicNumber:BackupAnimeTracking.kt$BackupAnimeTracking$100 - MagicNumber:BackupAnimeTracking.kt$BackupAnimeTracking$11 - MagicNumber:BackupAnimeTracking.kt$BackupAnimeTracking$3 - MagicNumber:BackupAnimeTracking.kt$BackupAnimeTracking$4 - MagicNumber:BackupAnimeTracking.kt$BackupAnimeTracking$5 - MagicNumber:BackupAnimeTracking.kt$BackupAnimeTracking$6 - MagicNumber:BackupAnimeTracking.kt$BackupAnimeTracking$7 - MagicNumber:BackupAnimeTracking.kt$BackupAnimeTracking$8 - MagicNumber:BackupAnimeTracking.kt$BackupAnimeTracking$9 - MagicNumber:BackupCategory.kt$BackupCategory$100 - MagicNumber:BackupChapter.kt$BackupChapter$10 - MagicNumber:BackupChapter.kt$BackupChapter$11 - MagicNumber:BackupChapter.kt$BackupChapter$3 - MagicNumber:BackupChapter.kt$BackupChapter$4 - MagicNumber:BackupChapter.kt$BackupChapter$5 - MagicNumber:BackupChapter.kt$BackupChapter$6 - MagicNumber:BackupChapter.kt$BackupChapter$7 - MagicNumber:BackupChapter.kt$BackupChapter$8 - MagicNumber:BackupChapter.kt$BackupChapter$9 - MagicNumber:BackupCreateJob.kt$BackupCreateJob.Companion$10 - MagicNumber:BackupDecoder.kt$BackupDecoder$0x1f8b - MagicNumber:BackupEpisode.kt$BackupEpisode$10 - MagicNumber:BackupEpisode.kt$BackupEpisode$11 - MagicNumber:BackupEpisode.kt$BackupEpisode$16 - MagicNumber:BackupEpisode.kt$BackupEpisode$3 - MagicNumber:BackupEpisode.kt$BackupEpisode$4 - MagicNumber:BackupEpisode.kt$BackupEpisode$5 - MagicNumber:BackupEpisode.kt$BackupEpisode$6 - MagicNumber:BackupEpisode.kt$BackupEpisode$7 - MagicNumber:BackupEpisode.kt$BackupEpisode$8 - MagicNumber:BackupEpisode.kt$BackupEpisode$9 - MagicNumber:BackupHistory.kt$BackupHistory$3 - MagicNumber:BackupManga.kt$BackupManga$100 - MagicNumber:BackupManga.kt$BackupManga$101 - MagicNumber:BackupManga.kt$BackupManga$102 - MagicNumber:BackupManga.kt$BackupManga$103 - MagicNumber:BackupManga.kt$BackupManga$104 - MagicNumber:BackupManga.kt$BackupManga$105 - MagicNumber:BackupManga.kt$BackupManga$106 - MagicNumber:BackupManga.kt$BackupManga$107 - MagicNumber:BackupManga.kt$BackupManga$108 - MagicNumber:BackupManga.kt$BackupManga$13 - MagicNumber:BackupManga.kt$BackupManga$14 - MagicNumber:BackupManga.kt$BackupManga$16 - MagicNumber:BackupManga.kt$BackupManga$17 - MagicNumber:BackupManga.kt$BackupManga$18 - MagicNumber:BackupManga.kt$BackupManga$3 - MagicNumber:BackupManga.kt$BackupManga$4 - MagicNumber:BackupManga.kt$BackupManga$5 - MagicNumber:BackupManga.kt$BackupManga$6 - MagicNumber:BackupManga.kt$BackupManga$7 - MagicNumber:BackupManga.kt$BackupManga$8 - MagicNumber:BackupManga.kt$BackupManga$9 - 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:BrowseAnimeIcons.kt$0x1F888888 - MagicNumber:BrowseMangaIcons.kt$0x1F888888 - MagicNumber:ChapterDownloadIndicator.kt$0.5f - MagicNumber:ColorFilterPage.kt$16 - MagicNumber:ColorFilterPage.kt$24 - MagicNumber:ColorFilterPage.kt$8 - MagicNumber:CommonEntryItem.kt$0.33f - MagicNumber:CommonEntryItem.kt$0xAA000000 - MagicNumber:CommonStorageScreenModel.kt$CommonStorageScreenModel$255 - MagicNumber:ContextExtensions.kt$3 - MagicNumber:ContextExtensions.kt$50 - MagicNumber:CumulativeStorage.kt$180f - MagicNumber:CumulativeStorage.kt$4 - MagicNumber:CurrentChapter.kt$CurrentChapter$25 - MagicNumber:DateExtensions.kt$7 - MagicNumber:DelayedAnimeTrackingUpdateJob.kt$DelayedAnimeTrackingUpdateJob$3 - MagicNumber:DelayedMangaTrackingUpdateJob.kt$DelayedMangaTrackingUpdateJob$3 - MagicNumber:DelayedMangaTrackingUpdateJob.kt$DelayedMangaTrackingUpdateJob.Companion$5 - MagicNumber:DoubleTapSecondsView.kt$DoubleTapSecondsView.CustomValueAnimator$5 - MagicNumber:DownloadsTab.kt$DownloadsTab$0.08f - MagicNumber:DownloadsTab.kt$DownloadsTab$0.12f - MagicNumber:DropdownMenu.kt$56 - MagicNumber:EntryBottomActionMenu.kt$3 - MagicNumber:EntryBottomActionMenu.kt$4 - MagicNumber:EntryBottomActionMenu.kt$5 - MagicNumber:EntryBottomActionMenu.kt$6 - MagicNumber:EntryBottomActionMenu.kt$7 - MagicNumber:EntryBottomActionMenu.kt$8 - MagicNumber:EntryBottomActionMenu.kt$9 - MagicNumber:EntryDownloadDropdownMenu.kt$10 - MagicNumber:EntryDownloadDropdownMenu.kt$25 - MagicNumber:EntryDownloadDropdownMenu.kt$5 - MagicNumber:EpisodeDownloadIndicator.kt$0.5f - MagicNumber:GestureHandler.kt$GestureHandler$0.05F - MagicNumber:GestureHandler.kt$GestureHandler$0.4F - MagicNumber:GestureHandler.kt$GestureHandler$0.6F - MagicNumber:GestureHandler.kt$GestureHandler$0.95F - MagicNumber:GestureHandler.kt$GestureHandler$1.5F - MagicNumber:GestureHandler.kt$GestureHandler$150F - MagicNumber:GlobalSearchItem.kt$99f - MagicNumber:ItemCover.kt$ItemCover.Book$3f - MagicNumber:Jellyfin.kt$Jellyfin$11 - MagicNumber:Jellyfin.kt$Jellyfin$37 - MagicNumber:JellyfinApi.kt$JellyfinApi$0.001 - MagicNumber:JellyfinApi.kt$JellyfinApi$3 - 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:LibraryToolbar.kt$0.08f - MagicNumber:LibraryToolbar.kt$0.12f - MagicNumber:MangaDownload.kt$MangaDownload.State.DOWNLOADED$3 - MagicNumber:MangaDownload.kt$MangaDownload.State.ERROR$4 - MagicNumber:MangaDownloadCache.kt$MangaDownloadCache$1000 - MagicNumber:MangaDownloadHolder.kt$MangaDownloadHolder$100 - MagicNumber:MangaDownloadNotifier.kt$MangaDownloadNotifier$15 - MagicNumber:MangaDownloadNotifier.kt$MangaDownloadNotifier$30 - MagicNumber:MangaDownloadProvider.kt$MangaDownloadProvider$4 - MagicNumber:MangaDownloadQueueScreenModel.kt$MangaDownloadQueueScreenModel$50 - MagicNumber:MangaDownloader.kt$MangaDownloader$100 - MagicNumber:MangaDownloader.kt$MangaDownloader$1000 - MagicNumber:MangaDownloader.kt$MangaDownloader$1024 - MagicNumber:MangaDownloader.kt$MangaDownloader$3 - MagicNumber:MangaDownloader.kt$MangaDownloader$5 - MagicNumber:MangaExtensionDetailsScreen.kt$1.5f - MagicNumber:MangaExtensionInstallService.kt$MangaExtensionInstallService$100 - MagicNumber:MangaInfoHeader.kt$0.2f - MagicNumber:MangaInfoHeader.kt$0.65f - MagicNumber:MangaLibraryScreenModel.kt$MangaLibraryScreenModel$10 - MagicNumber:MangaLibraryScreenModel.kt$MangaLibraryScreenModel$25 - MagicNumber:MangaLibraryScreenModel.kt$MangaLibraryScreenModel$5 - MagicNumber:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob$5 - MagicNumber:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob.Companion$10 - MagicNumber:MangaLibraryUpdateNotifier.kt$MangaLibraryUpdateNotifier$40 - MagicNumber:MangaMetadataUpdateJob.kt$MangaMetadataUpdateJob$5 - MagicNumber:MangaScreenModel.kt$MangaScreenModel$10 - MagicNumber:MangaScreenModel.kt$MangaScreenModel$103 - MagicNumber:MangaScreenModel.kt$MangaScreenModel$25 - MagicNumber:MangaScreenModel.kt$MangaScreenModel$5 - MagicNumber:MangaTrackInfoDialog.kt$TrackChapterSelectorScreen.Model$10000 - MagicNumber:MangaTrackerSearchPreviewProvider.kt$MangaTrackerSearchPreviewProvider$10 - MagicNumber:MangaTrackerSearchPreviewProvider.kt$MangaTrackerSearchPreviewProvider$100 - MagicNumber:MangaTrackerSearchPreviewProvider.kt$MangaTrackerSearchPreviewProvider$1000L - MagicNumber:MangaTrackerSearchPreviewProvider.kt$MangaTrackerSearchPreviewProvider$100L - MagicNumber:MangaTrackerSearchPreviewProvider.kt$MangaTrackerSearchPreviewProvider$30 - MagicNumber:MangaTrackerSearchPreviewProvider.kt$MangaTrackerSearchPreviewProvider$365 - MagicNumber:MangaTrackerSearchPreviewProvider.kt$MangaTrackerSearchPreviewProvider$40 - MagicNumber:MangaUpdates.kt$MangaUpdates$146 - MagicNumber:MangaUpdates.kt$MangaUpdates$160 - MagicNumber:MangaUpdates.kt$MangaUpdates$173 - MagicNumber:MangaUpdatesApi.kt$MangaUpdatesApi$200 - MagicNumber:MangaUpdatesScreenModel.kt$MangaUpdatesScreenModel$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$120 - MagicNumber:Migrations.kt$Migrations$121 - MagicNumber:Migrations.kt$Migrations$123 - 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$93 - MagicNumber:Migrations.kt$Migrations$96 - MagicNumber:Migrations.kt$Migrations$97 - MagicNumber:Migrations.kt$Migrations$99 - 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:PageIndicatorText.kt$235 - MagicNumber:PageIndicatorText.kt$45 - MagicNumber:PagerConfig.kt$PagerConfig$3 - MagicNumber:PagerConfig.kt$PagerConfig$4 - MagicNumber:PagerConfig.kt$PagerConfig$5 - MagicNumber:PagerPageHolder.kt$PagerPageHolder$16 - MagicNumber:PagerPageHolder.kt$PagerPageHolder$90f - MagicNumber:PagerViewer.kt$PagerViewer$5 - MagicNumber:PictureInPictureHandler.kt$PictureInPictureHandler$10000 - MagicNumber:PictureInPictureHandler.kt$PictureInPictureHandler$23899 - MagicNumber:PictureInPictureHandler.kt$PictureInPictureHandler$23900 - MagicNumber:PictureInPictureHandler.kt$PictureInPictureHandler$4184 - MagicNumber:PictureInPictureHandler.kt$PictureInPictureHandler$4185 - MagicNumber:PkceUtil.kt$PkceUtil$50 - MagicNumber:PlayerActivity.kt$PlayerActivity$0.02F - MagicNumber:PlayerActivity.kt$PlayerActivity$0.15f - MagicNumber:PlayerActivity.kt$PlayerActivity$0.2F - MagicNumber:PlayerActivity.kt$PlayerActivity$0.5F - MagicNumber:PlayerActivity.kt$PlayerActivity$0.75F - MagicNumber:PlayerActivity.kt$PlayerActivity$0.8F - MagicNumber:PlayerActivity.kt$PlayerActivity$100 - MagicNumber:PlayerActivity.kt$PlayerActivity$1000 - MagicNumber:PlayerActivity.kt$PlayerActivity$1000.0 - MagicNumber:PlayerActivity.kt$PlayerActivity$1000F - MagicNumber:PlayerActivity.kt$PlayerActivity$1000L - MagicNumber:PlayerActivity.kt$PlayerActivity$2 - MagicNumber:PlayerActivity.kt$PlayerActivity$2.0 - MagicNumber:PlayerActivity.kt$PlayerActivity$256 - MagicNumber:PlayerActivity.kt$PlayerActivity$500 - MagicNumber:PlayerActivity.kt$PlayerActivity$500L - MagicNumber:PlayerActivity.kt$PlayerActivity$70000000 - MagicNumber:PlayerActivity.kt$PlayerActivity$750L - MagicNumber:PlayerControlsView.kt$PlayerControlsView$100 - MagicNumber:PlayerControlsView.kt$PlayerControlsView$1000L - MagicNumber:PlayerControlsView.kt$PlayerControlsView$3500L - MagicNumber:PlayerControlsView.kt$PlayerControlsView$500L - MagicNumber:PlayerControlsView.kt$PlayerControlsView$75 - MagicNumber:PlayerControlsView.kt$PlayerControlsView$750L - MagicNumber:PlayerPreferences.kt$PlayerPreferences$0.85F - MagicNumber:PlayerPreferences.kt$PlayerPreferences$10 - MagicNumber:PlayerPreferences.kt$PlayerPreferences$16777216 - MagicNumber:PlayerPreferences.kt$PlayerPreferences$5 - MagicNumber:PlayerPreferences.kt$PlayerPreferences$55 - MagicNumber:PlayerPreferences.kt$PlayerPreferences$6 - MagicNumber:PlayerPreferences.kt$PlayerPreferences$7 - MagicNumber:PlayerPreferences.kt$PlayerPreferences$85 - MagicNumber:PlayerViewModel.kt$PlayerViewModel$0.35 - MagicNumber:PlayerViewModel.kt$PlayerViewModel$1000L - 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$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: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:RevealAnimationView.kt$RevealAnimationView$350 - MagicNumber:RevealAnimationView.kt$RevealAnimationView$500 - MagicNumber:SaveImageNotifier.kt$SaveImageNotifier$1280 - MagicNumber:SaveImageNotifier.kt$SaveImageNotifier$720 - MagicNumber:SecureActivityDelegate.kt$SecureActivityDelegate.Companion$60_000 - MagicNumber:Seekbar.kt$2 - MagicNumber:SetAnimeViewerFlags.kt$SetAnimeViewerFlags$16.0 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$12 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$168 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$24 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$48 - MagicNumber:SettingsDataScreen.kt$SettingsDataScreen$6 - MagicNumber:SettingsDownloadScreen.kt$SettingsDownloadScreen$10 - MagicNumber:SettingsDownloadScreen.kt$SettingsDownloadScreen$3 - MagicNumber:SettingsDownloadScreen.kt$SettingsDownloadScreen$4 - MagicNumber:SettingsDownloadScreen.kt$SettingsDownloadScreen$5 - 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:SettingsPlayerScreen.kt$SettingsPlayerScreen$0.70F - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$0.75F - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$0.80F - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$0.85F - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$0.90F - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$0.95F - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$10 - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$20 - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$255 - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$3 - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$30 - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$5 - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$6 - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$7 - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$8 - MagicNumber:SettingsPlayerScreen.kt$SettingsPlayerScreen$9 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$100f - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$250 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$3 - MagicNumber:SettingsReaderScreen.kt$SettingsReaderScreen$500 - MagicNumber:SettingsSearchScreen.kt$10 - MagicNumber:Shikimori.kt$Shikimori$40 - MagicNumber:ShikimoriModels.kt$1000 - MagicNumber:ShikimoriModels.kt$3600 - MagicNumber:SkipIntroLengthDialog.kt$255 - MagicNumber:SourcePreferences.kt$SourcePreferences$80 - MagicNumber:StorageScreenContent.kt$10 - MagicNumber:StorageScreenContent.kt$20 - MagicNumber:StorageScreenContent.kt$255 - MagicNumber:StorageScreenContent.kt$3f - MagicNumber:StorageUtil.kt$1000 - MagicNumber:SubtitleColorPage.kt$0x000000FFL - MagicNumber:SubtitleColorPage.kt$0x0000FF00L - MagicNumber:SubtitleColorPage.kt$0x00FF0000L - MagicNumber:SubtitleColorPage.kt$0x00FFFFFFL - MagicNumber:SubtitleColorPage.kt$0xFF - MagicNumber:SubtitleColorPage.kt$0xFF000000L - MagicNumber:SubtitleColorPage.kt$16 - MagicNumber:SubtitleColorPage.kt$24 - MagicNumber:SubtitleColorPage.kt$8 - MagicNumber:SubtitleColorPage.kt$ARGBValue.ALPHA$0xFF000000L - MagicNumber:SubtitleColorPage.kt$ARGBValue.ALPHA$24 - MagicNumber:SubtitleColorPage.kt$ARGBValue.BLUE$0x000000FFL - MagicNumber:SubtitleColorPage.kt$ARGBValue.GREEN$0x0000FF00L - MagicNumber:SubtitleColorPage.kt$ARGBValue.GREEN$8 - MagicNumber:SubtitleColorPage.kt$ARGBValue.RED$0x00FF0000L - MagicNumber:SubtitleColorPage.kt$ARGBValue.RED$16 - MagicNumber:SubtitleDelayPage.kt$1000 - MagicNumber:SubtitleDelayPage.kt$1000.0 - MagicNumber:SubtitleSettingsSheet.kt$0.25f - MagicNumber:SubtitleSettingsSheet.kt$0.8f - MagicNumber:SubtitleSettingsSheet.kt$12f - MagicNumber:SubtitleSettingsSheet.kt$3 - MagicNumber:SubtitleSettingsSheet.kt$4 - MagicNumber:SubtitleSettingsSheet.kt$48f - MagicNumber:SubtitleSettingsSheet.kt$8f - MagicNumber:Suwayomi.kt$Suwayomi$255 - MagicNumber:Suwayomi.kt$Suwayomi$35 - MagicNumber:TimeUtils.kt$4 - MagicNumber:TrackInfoDialogSelector.kt$3L - MagicNumber:TrackInfoDialogSelector.kt$4L - MagicNumber:TrackInfoDialogSelector.kt$5L - MagicNumber:TrackInfoDialogSelector.kt$6L - MagicNumber:TrackInfoDialogSelector.kt$7L - MagicNumber:TrackInfoDialogSelector.kt$8L - MagicNumber:TrackingPreferenceWidget.kt$0xFF4CAF50 - MagicNumber:TvUtils.kt$30 - 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: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:WorkManagerExtensions.kt$500 - MatchingDeclarationName:ChapterDownloadIndicator.kt$ChapterDownloadAction - MatchingDeclarationName:CommonEntryItem.kt$CommonEntryItemDefaults - MatchingDeclarationName:CreateAniyomiExtensionRepo.kt$CreateAnimeExtensionRepo - MatchingDeclarationName:EpisodeDownloadIndicator.kt$EpisodeDownloadAction - MatchingDeclarationName:MyAnimeListModels.kt$OAuth - MatchingDeclarationName:NetworkStateTracker.kt$NetworkState - MatchingDeclarationName:ShikimoriModels.kt$OAuth - MatchingDeclarationName:SimklModels.kt$OAuth - MatchingDeclarationName:TabbedDialog.kt$TabbedDialogPaddings - MaxLineLength:AnimeDownloader.kt$AnimeDownloader$// If job has been asked to close then set the download as failed and collaborate - MaxLineLength:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob$// failedUpdates will already have the source, don't need to copy it into the message - MaxLineLength:BrowseTab.kt$BrowseTab$// TODO: Find a way to let it open Global Anime/Manga Search depending on what Tab(e.g. Anime/Manga Source Tab) is open - 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:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob$// failedUpdates will already have the source, don't need to copy it into the message - MaxLineLength:PreferenceScreen.kt$* - MaxLineLength:SourcePreferences.kt$SourcePreferences$// fun sourcesTabSourcesInCategories() = preferenceStore.getStringSet("sources_tab_source_categories", mutableSetOf()) - MemberNameEqualsClassName:ExternalIntents.kt$ExternalIntents.Companion$val externalIntents: ExternalIntents by injectLazy() - ModifierClickableOrder:ScanlatorFilterDialog.kt$clickable { if (isExcluded) { mutableExcludedScanlators.remove(scanlator) } else { mutableExcludedScanlators.add(scanlator) } } - ModifierComposed:BasePreferenceWidget.kt$highlightBackground - ModifierComposed:ItemDownloadIndicator.kt$commonClickable - ModifierMissing:AnimeCategoryScreen.kt$AnimeCategoryScreen - ModifierMissing:AnimeDownloadQueueScreen.kt$AnimeDownloadQueueScreen - ModifierMissing:AnimeExtensionDetailsScreen.kt$AnimeExtensionDetailsScreen - ModifierMissing:AnimeExtensionFilterScreen.kt$AnimeExtensionFilterScreen - ModifierMissing:AnimeExtensionsScreen.kt$AnimeExtensionScreen - ModifierMissing:AnimeHistoryScreen.kt$AnimeHistoryScreen - ModifierMissing:AnimeLibraryCompactGrid.kt$AnimeLibraryCompactGrid - ModifierMissing:AnimeLibraryContent.kt$AnimeLibraryContent - ModifierMissing:AnimeLibraryPager.kt$AnimeLibraryPager - ModifierMissing:AnimeLibrarySettingsDialog.kt$AnimeLibrarySettingsDialog - ModifierMissing:AnimeScreen.kt$AnimeScreenLargeImpl - ModifierMissing:AnimeSourcesFilterScreen.kt$AnimeSourcesFilterScreen - ModifierMissing:AnimeSourcesScreen.kt$AnimeSourcesScreen - ModifierMissing:AnimeStatsScreenContent.kt$AnimeStatsScreenContent - ModifierMissing:AnimeTrackInfoDialogHome.kt$AnimeTrackInfoDialogHome - ModifierMissing:AnimeTrackerSearch.kt$AnimeTrackerSearch - ModifierMissing:AnimeUpdatesScreen.kt$AnimeUpdateScreen - ModifierMissing:AppBar.kt$AppBarActions - ModifierMissing:AppThemePreferenceWidget.kt$AppThemePreviewItem - ModifierMissing:BottomReaderBar.kt$BottomReaderBar - ModifierMissing:BrowseAnimeSourceComfortableGrid.kt$BrowseAnimeSourceComfortableGrid - ModifierMissing:BrowseAnimeSourceCompactGrid.kt$BrowseAnimeSourceCompactGrid - ModifierMissing:BrowseAnimeSourceList.kt$BrowseAnimeSourceList - ModifierMissing:BrowseAnimeSourceScreen.kt$BrowseAnimeSourceContent - ModifierMissing:BrowseAnimeSourceToolbar.kt$BrowseAnimeSourceToolbar - ModifierMissing:BrowseMangaSourceComfortableGrid.kt$BrowseMangaSourceComfortableGrid - ModifierMissing:BrowseMangaSourceCompactGrid.kt$BrowseMangaSourceCompactGrid - ModifierMissing:BrowseMangaSourceList.kt$BrowseMangaSourceList - ModifierMissing:BrowseMangaSourceScreen.kt$BrowseSourceContent - ModifierMissing:BrowseMangaSourceToolbar.kt$BrowseMangaSourceToolbar - ModifierMissing:ChapterNavigator.kt$ChapterNavigator - ModifierMissing:ChapterSettingsDialog.kt$ChapterSettingsDialog - ModifierMissing:ChapterSettingsDialog.kt$ScanlatorFilterItem - ModifierMissing:CommonEntryItem.kt$EntryComfortableGridItem - ModifierMissing:CommonEntryItem.kt$EntryCompactGridItem - ModifierMissing:CommonEntryItem.kt$EntryListItem - ModifierMissing:CrashScreen.kt$CrashScreen - ModifierMissing:EpisodeListDialog.kt$EpisodeListDialog - ModifierMissing:EpisodeOptionsDialogScreen.kt$EpisodeOptionsDialog - ModifierMissing:EpisodeSettingsDialog.kt$EpisodeSettingsDialog - ModifierMissing:ExtensionReposScreen.kt$ExtensionReposScreen - ModifierMissing:GlobalAnimeSearchCardRow.kt$GlobalAnimeSearchCardRow - ModifierMissing:GlobalAnimeSearchScreen.kt$GlobalAnimeSearchScreen - ModifierMissing:GlobalAnimeSearchToolbar.kt$GlobalAnimeSearchToolbar - ModifierMissing:GlobalMangaSearchCardRow.kt$GlobalMangaSearchCardRow - ModifierMissing:GlobalMangaSearchScreen.kt$GlobalMangaSearchScreen - ModifierMissing:GlobalMangaSearchToolbar.kt$GlobalMangaSearchToolbar - ModifierMissing:GlobalSearchResultItems.kt$GlobalSearchErrorResultItem - ModifierMissing:GlobalSearchResultItems.kt$GlobalSearchLoadingResultItem - ModifierMissing:GlobalSearchResultItems.kt$GlobalSearchResultItem - ModifierMissing:GlobalSerachCard.kt$GlobalSearchCard - ModifierMissing:HomeScreen.kt$HomeScreen$NavigationRailItem - ModifierMissing:LogoHeader.kt$LogoHeader - ModifierMissing:MangaCategoryScreen.kt$MangaCategoryScreen - ModifierMissing:MangaDownloadQueueScreen.kt$DownloadQueueScreen - ModifierMissing:MangaExtensionDetailsScreen.kt$MangaExtensionDetailsScreen - ModifierMissing:MangaExtensionFilterScreen.kt$MangaExtensionFilterScreen - ModifierMissing:MangaExtensionsScreen.kt$MangaExtensionScreen - ModifierMissing:MangaHistoryScreen.kt$MangaHistoryScreen - ModifierMissing:MangaLibraryContent.kt$MangaLibraryContent - ModifierMissing:MangaLibraryPager.kt$MangaLibraryPager - ModifierMissing:MangaLibrarySettingsDialog.kt$MangaLibrarySettingsDialog - ModifierMissing:MangaScreen.kt$MangaScreenLargeImpl - ModifierMissing:MangaSourcesFilterScreen.kt$MangaSourcesFilterScreen - ModifierMissing:MangaSourcesScreen.kt$MangaSourcesScreen - ModifierMissing:MangaStatsScreenContent.kt$MangaStatsScreenContent - ModifierMissing:MangaTrackInfoDialogHome.kt$MangaTrackInfoDialogHome - ModifierMissing:MangaTrackInfoDialogHome.kt$TrackInfoItemMenu - ModifierMissing:MangaTrackerSearch.kt$MangaTrackerSearch - ModifierMissing:MangaUpdatesScreen.kt$MangaUpdateScreen - ModifierMissing:MigrateAnimeScreen.kt$MigrateAnimeScreen - ModifierMissing:MigrateAnimeSearchScreen.kt$MigrateAnimeSearchScreen - ModifierMissing:MigrateAnimeSourceScreen.kt$MigrateAnimeSourceScreen - ModifierMissing:MigrateMangaScreen.kt$MigrateMangaScreen - ModifierMissing:MigrateMangaSearchScreen.kt$MigrateMangaSearchScreen - ModifierMissing:MigrateMangaSourceScreen.kt$MigrateMangaSourceScreen - ModifierMissing:ModeSelectionDialog.kt$ModeSelectionDialog - ModifierMissing:MoreScreen.kt$MoreScreen - ModifierMissing:NewUpdateScreen.kt$NewUpdateScreen - ModifierMissing:OnboardingScreen.kt$OnboardingScreen - ModifierMissing:PageIndicatorText.kt$PageIndicatorText - ModifierMissing:PlayerSettingsScreenModel.kt$PlayerSettingsScreenModel$NoSubtitlesWarning - ModifierMissing:PlayerSettingsScreenModel.kt$PlayerSettingsScreenModel$OverrideSubtitlesSwitch - ModifierMissing:PlayerSettingsScreenModel.kt$PlayerSettingsScreenModel$ToggleableRow - ModifierMissing:PlayerSettingsSheet.kt$PlayerSettingsSheet - ModifierMissing:PreferenceGroupHeader.kt$PreferenceGroupHeader - ModifierMissing:PreferenceScaffold.kt$PreferenceScaffold - ModifierMissing:ReaderAppBars.kt$ReaderAppBars - ModifierMissing:ReaderPageActionsDialog.kt$ReaderPageActionsDialog - ModifierMissing:ReaderSettingsDialog.kt$ReaderSettingsDialog - ModifierMissing:ScreenshotOptionsSheet.kt$ScreenshotOptionsSheet - ModifierMissing:SettingsMainScreen.kt$SettingsMainScreen$Content - ModifierMissing:SkipIntroLengthDialog.kt$SkipIntroLengthDialog - ModifierMissing:SourceFilterAnimeDialog.kt$SourceFilterAnimeDialog - ModifierMissing:SourceFilterMangaDialog.kt$SourceFilterMangaDialog - ModifierMissing:SpeedPickerDialog.kt$SpeedPickerDialog - ModifierMissing:StreamsCatalogSheet.kt$StreamsCatalogSheet - ModifierMissing:SubtitleDelayPage.kt$StreamsDelayPage - ModifierMissing:SubtitleSettingsSheet.kt$OutLineText - ModifierMissing:SubtitleSettingsSheet.kt$SubtitlePreview - ModifierMissing:SubtitleSettingsSheet.kt$SubtitleSettingsSheet - ModifierMissing:TrackInfoDialogSelector.kt$BaseSelector - ModifierMissing:TrackInfoDialogSelector.kt$TrackDateSelector - ModifierMissing:TrackInfoDialogSelector.kt$TrackItemSelector - ModifierMissing:TrackInfoDialogSelector.kt$TrackScoreSelector - ModifierMissing:TrackInfoDialogSelector.kt$TrackStatusSelector - ModifierMissing:TrackLogoIcon.kt$TrackLogoIcon - ModifierMissing:VideoChaptersSheet.kt$VideoChaptersSheet - ModifierMissing:WebViewScreenContent.kt$WebViewScreenContent - ModifierNotUsedAtRoot:AnimeEpisodeListItem.kt$modifier = modifier .selectedBackground(selected) .combinedClickable( onClick = onClick, onLongClick = onLongClick, ) .padding(start = 16.dp, top = 12.dp, end = 8.dp, bottom = 12.dp) - 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:TabbedScreen.kt$modifier = modifier - ModifierNotUsedAtRoot:TrackingPreferenceWidget.kt$modifier = modifier .clickable(enabled = onClick != null, onClick = { onClick?.invoke() }) .fillMaxWidth() .padding(horizontal = PrefsHorizontalPadding, vertical = 8.dp) - MultipleEmitters:SubtitleColorPage.kt$SubtitleColors - MutableStateAutoboxing:EpisodeListDialog.kt$mutableStateOf(0) - MutableStateAutoboxing:SettingsPlayerScreen.kt$SettingsPlayerScreen$mutableStateOf(initialSkipIntroLength) - MutableStateAutoboxing:VideoChaptersSheet.kt$mutableStateOf(timePosition) - NestedBlockDepth:Anilist.kt$Anilist$override suspend fun update(track: AnimeTrack, didWatchEpisode: Boolean): AnimeTrack - NestedBlockDepth:Anilist.kt$Anilist$override suspend fun update(track: MangaTrack, didReadChapter: Boolean): MangaTrack - NestedBlockDepth:AnimeDownloadQueueScreenModel.kt$AnimeDownloadQueueScreenModel.<no name provided>$override fun onMenuItemClick(position: Int, menuItem: MenuItem) - NestedBlockDepth:AnimeDownloader.kt$AnimeDownloader$private fun downloadVideoExternal( video: Video, source: AnimeHttpSource, tmpDir: UniFile, filename: String, ): UniFile - NestedBlockDepth:AnimeDownloader.kt$AnimeDownloader$private suspend fun attemptDownload( download: AnimeDownload, tmpDir: UniFile, filename: String, safe: Boolean, ): UniFile - NestedBlockDepth:AnimeDownloader.kt$AnimeDownloader$private suspend fun httpDownload( download: AnimeDownload, tmpDir: UniFile, filename: String, threadNumber: Int, safeDownload: Boolean, ): UniFile - NestedBlockDepth:AnimeExtensionInstaller.kt$AnimeExtensionInstaller$fun installApk(downloadId: Long, uri: Uri) - NestedBlockDepth:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob$private fun writeErrorFile(errors: List<Pair<Anime, String?>>): File - NestedBlockDepth:AppLanguageScreen.kt$AppLanguageScreen$private fun getLangs(context: Context): ImmutableList<Language> - NestedBlockDepth:BackupRestorer.kt$BackupRestorer$private fun writeErrorLog(): File - NestedBlockDepth:BrowseAnimeSourceScreenModel.kt$BrowseAnimeSourceScreenModel$fun searchGenre(genreName: String) - NestedBlockDepth:BrowseMangaSourceScreenModel.kt$BrowseMangaSourceScreenModel$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:GestureHandler.kt$GestureHandler$@SuppressLint("ClickableViewAccessibility") override fun onTouch(v: View, event: MotionEvent): Boolean - NestedBlockDepth:GestureHandler.kt$GestureHandler$override fun onScroll( e1: MotionEvent?, e2: MotionEvent, distanceX: Float, distanceY: Float, ): Boolean - 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: AnimeTrack, didWatchEpisode: Boolean): AnimeTrack - NestedBlockDepth:Kitsu.kt$Kitsu$override suspend fun update(track: MangaTrack, didReadChapter: Boolean): MangaTrack - NestedBlockDepth:MangaDownloadQueueScreenModel.kt$MangaDownloadQueueScreenModel.<no name provided>$override fun onMenuItemClick(position: Int, menuItem: MenuItem) - NestedBlockDepth:MangaDownloader.kt$MangaDownloader$private fun archiveChapter( mangaDir: UniFile, dirname: String, tmpDir: UniFile, ) - NestedBlockDepth:MangaExtensionInstaller.kt$MangaExtensionInstaller$fun installApk(downloadId: Long, uri: Uri) - NestedBlockDepth:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob$private fun writeErrorFile(errors: List<Pair<Manga, String?>>): File - NestedBlockDepth:Migrations.kt$Migrations$fun upgrade( context: Context, preferenceStore: PreferenceStore, basePreferences: BasePreferences, uiPreferences: UiPreferences, networkPreferences: NetworkPreferences, sourcePreferences: SourcePreferences, securityPreferences: SecurityPreferences, libraryPreferences: LibraryPreferences, readerPreferences: ReaderPreferences, playerPreferences: PlayerPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, ): Boolean - NestedBlockDepth:MyAnimeList.kt$MyAnimeList$override suspend fun update(track: AnimeTrack, didWatchEpisode: Boolean): AnimeTrack - NestedBlockDepth:MyAnimeList.kt$MyAnimeList$override suspend fun update(track: MangaTrack, didReadChapter: Boolean): MangaTrack - NestedBlockDepth:PlayerActivity.kt$PlayerActivity$private fun setVideoList( qualityIndex: Int, videos: List<Video>?, fromStart: Boolean = false, position: Long? = null, ) - NestedBlockDepth:PlayerViewModel.kt$PlayerViewModel$suspend fun init( animeId: Long, initialEpisodeId: Long, vidList: String, vidIndex: Int, ): Pair<InitResult, Result<Boolean>> - NestedBlockDepth:StorageUtil.kt$fun UniFile.size(): Long - NestedBlockDepth:SyncChaptersWithSource.kt$SyncChaptersWithSource$suspend fun await( rawSourceChapters: List<SChapter>, manga: Manga, source: MangaSource, manualFetch: Boolean = false, fetchWindow: Pair<Long, Long> = Pair(0, 0), ): List<Chapter> - NestedBlockDepth:SyncEpisodesWithSource.kt$SyncEpisodesWithSource$suspend fun await( rawSourceEpisodes: List<SEpisode>, anime: Anime, source: AnimeSource, manualFetch: Boolean = false, fetchWindow: Pair<Long, Long> = Pair(0, 0), ): List<Episode> - NestedBlockDepth:WebtoonRecyclerView.kt$WebtoonRecyclerView.Detector$override fun onTouchEvent(ev: MotionEvent): Boolean - ParameterNaming:AnimeInfoHeader.kt$onAddToLibraryClicked - ParameterNaming:AnimeInfoHeader.kt$onEditIntervalClicked - ParameterNaming:AnimeInfoHeader.kt$onTrackingClicked - ParameterNaming:AnimeInfoHeader.kt$onWebViewClicked - ParameterNaming:AnimeInfoHeader.kt$onWebViewLongClicked - ParameterNaming:AnimeLibraryComfortableGrid.kt$onGlobalSearchClicked - ParameterNaming:AnimeLibraryCompactGrid.kt$onGlobalSearchClicked - ParameterNaming:AnimeLibraryContent.kt$onAnimeClicked - ParameterNaming:AnimeLibraryContent.kt$onContinueWatchingClicked - ParameterNaming:AnimeLibraryContent.kt$onGlobalSearchClicked - ParameterNaming:AnimeLibraryList.kt$onGlobalSearchClicked - ParameterNaming:AnimeLibraryPager.kt$onGlobalSearchClicked - ParameterNaming:AnimeScreen.kt$onAddToLibraryClicked - ParameterNaming:AnimeScreen.kt$onAllEpisodeSelected - ParameterNaming:AnimeScreen.kt$onBackClicked - ParameterNaming:AnimeScreen.kt$onCoverClicked - ParameterNaming:AnimeScreen.kt$onDownloadActionClicked - ParameterNaming:AnimeScreen.kt$onEditCategoryClicked - ParameterNaming:AnimeScreen.kt$onEditFetchIntervalClicked - ParameterNaming:AnimeScreen.kt$onEditIntervalClicked - ParameterNaming:AnimeScreen.kt$onEpisodeClicked - ParameterNaming:AnimeScreen.kt$onEpisodeSelected - ParameterNaming:AnimeScreen.kt$onFilterButtonClicked - ParameterNaming:AnimeScreen.kt$onFilterClicked - ParameterNaming:AnimeScreen.kt$onMarkPreviousAsSeenClicked - ParameterNaming:AnimeScreen.kt$onMigrateClicked - ParameterNaming:AnimeScreen.kt$onMultiBookmarkClicked - ParameterNaming:AnimeScreen.kt$onMultiDeleteClicked - ParameterNaming:AnimeScreen.kt$onMultiMarkAsSeenClicked - ParameterNaming:AnimeScreen.kt$onSettingsClicked - ParameterNaming:AnimeScreen.kt$onShareClicked - ParameterNaming:AnimeScreen.kt$onTrackingClicked - ParameterNaming:AnimeScreen.kt$onWebViewClicked - ParameterNaming:AnimeScreen.kt$onWebViewLongClicked - ParameterNaming:AnimeTrackInfoDialogHome.kt$onRemoved - ParameterNaming:AnimeUpdatesScreen.kt$onMultiBookmarkClicked - ParameterNaming:AnimeUpdatesScreen.kt$onMultiDeleteClicked - ParameterNaming:AnimeUpdatesScreen.kt$onMultiMarkAsSeenClicked - ParameterNaming:AnimeUpdatesScreen.kt$onUpdateSelected - ParameterNaming:ChapterSettingsDialog.kt$onBookmarkedFilterChanged - ParameterNaming:ChapterSettingsDialog.kt$onConfirmed - ParameterNaming:ChapterSettingsDialog.kt$onDisplayModeChanged - ParameterNaming:ChapterSettingsDialog.kt$onDownloadFilterChanged - ParameterNaming:ChapterSettingsDialog.kt$onItemSelected - ParameterNaming:ChapterSettingsDialog.kt$onScanlatorFilterClicked - ParameterNaming:ChapterSettingsDialog.kt$onSortModeChanged - ParameterNaming:ChapterSettingsDialog.kt$onUnreadFilterChanged - ParameterNaming:EntryBottomActionMenu.kt$onBookmarkClicked - ParameterNaming:EntryBottomActionMenu.kt$onChangeCategoryClicked - ParameterNaming:EntryBottomActionMenu.kt$onDeleteClicked - ParameterNaming:EntryBottomActionMenu.kt$onDownloadClicked - ParameterNaming:EntryBottomActionMenu.kt$onExternalClicked - ParameterNaming:EntryBottomActionMenu.kt$onInternalClicked - ParameterNaming:EntryBottomActionMenu.kt$onMarkAsUnviewedClicked - ParameterNaming:EntryBottomActionMenu.kt$onMarkAsViewedClicked - ParameterNaming:EntryBottomActionMenu.kt$onMarkPreviousAsViewedClicked - ParameterNaming:EntryBottomActionMenu.kt$onRemoveBookmarkClicked - ParameterNaming:EntryDownloadDropdownMenu.kt$onDownloadClicked - ParameterNaming:EntryToolbar.kt$onBackClicked - ParameterNaming:EpisodeListDialog.kt$onBookmarkClicked - ParameterNaming:EpisodeListDialog.kt$onEpisodeClicked - ParameterNaming:EpisodeOptionsDialogScreen.kt$onCopyClicked - ParameterNaming:EpisodeOptionsDialogScreen.kt$onDownloadClicked - ParameterNaming:EpisodeOptionsDialogScreen.kt$onExtDownloadClicked - ParameterNaming:EpisodeOptionsDialogScreen.kt$onExtPlayerClicked - ParameterNaming:EpisodeOptionsDialogScreen.kt$onIntPlayerClicked - ParameterNaming:EpisodeSettingsDialog.kt$onBookmarkedFilterChanged - ParameterNaming:EpisodeSettingsDialog.kt$onConfirmed - ParameterNaming:EpisodeSettingsDialog.kt$onDisplayModeChanged - ParameterNaming:EpisodeSettingsDialog.kt$onDownloadFilterChanged - ParameterNaming:EpisodeSettingsDialog.kt$onItemSelected - ParameterNaming:EpisodeSettingsDialog.kt$onSortModeChanged - ParameterNaming:EpisodeSettingsDialog.kt$onUnseenFilterChanged - ParameterNaming:ItemsDialogs.kt$onValueChanged - ParameterNaming:ListPreferenceWidget.kt$onSelected - ParameterNaming:MangaInfoHeader.kt$onAddToLibraryClicked - ParameterNaming:MangaInfoHeader.kt$onEditIntervalClicked - ParameterNaming:MangaInfoHeader.kt$onTrackingClicked - ParameterNaming:MangaInfoHeader.kt$onWebViewClicked - ParameterNaming:MangaInfoHeader.kt$onWebViewLongClicked - ParameterNaming:MangaLibraryComfortableGrid.kt$onGlobalSearchClicked - ParameterNaming:MangaLibraryCompactGrid.kt$onGlobalSearchClicked - ParameterNaming:MangaLibraryContent.kt$onContinueReadingClicked - ParameterNaming:MangaLibraryContent.kt$onGlobalSearchClicked - ParameterNaming:MangaLibraryContent.kt$onMangaClicked - ParameterNaming:MangaLibraryList.kt$onGlobalSearchClicked - ParameterNaming:MangaLibraryPager.kt$onGlobalSearchClicked - ParameterNaming:MangaScreen.kt$onAddToLibraryClicked - ParameterNaming:MangaScreen.kt$onAllChapterSelected - ParameterNaming:MangaScreen.kt$onBackClicked - ParameterNaming:MangaScreen.kt$onChapterClicked - ParameterNaming:MangaScreen.kt$onChapterSelected - ParameterNaming:MangaScreen.kt$onCoverClicked - ParameterNaming:MangaScreen.kt$onDownloadActionClicked - ParameterNaming:MangaScreen.kt$onEditCategoryClicked - ParameterNaming:MangaScreen.kt$onEditFetchIntervalClicked - ParameterNaming:MangaScreen.kt$onEditIntervalClicked - ParameterNaming:MangaScreen.kt$onFilterButtonClicked - ParameterNaming:MangaScreen.kt$onFilterClicked - ParameterNaming:MangaScreen.kt$onMarkPreviousAsReadClicked - ParameterNaming:MangaScreen.kt$onMigrateClicked - ParameterNaming:MangaScreen.kt$onMultiBookmarkClicked - ParameterNaming:MangaScreen.kt$onMultiDeleteClicked - ParameterNaming:MangaScreen.kt$onMultiMarkAsReadClicked - ParameterNaming:MangaScreen.kt$onSettingsClicked - ParameterNaming:MangaScreen.kt$onShareClicked - ParameterNaming:MangaScreen.kt$onTrackingClicked - ParameterNaming:MangaScreen.kt$onWebViewClicked - ParameterNaming:MangaScreen.kt$onWebViewLongClicked - ParameterNaming:MangaTrackInfoDialogHome.kt$onRemoved - ParameterNaming:MangaUpdatesScreen.kt$onMultiBookmarkClicked - ParameterNaming:MangaUpdatesScreen.kt$onMultiDeleteClicked - ParameterNaming:MangaUpdatesScreen.kt$onMultiMarkAsReadClicked - ParameterNaming:MangaUpdatesScreen.kt$onUpdateSelected - ParameterNaming:PreferenceScaffold.kt$onBackPressed - ParameterNaming:ReaderAppBars.kt$onToggleBookmarked - ParameterNaming:SelectStorageCategory.kt$onCategorySelected - ParameterNaming:SettingsDownloadScreen.kt$SettingsDownloadScreen$onValueChanged - ParameterNaming:SettingsPlayerScreen.kt$SettingsPlayerScreen$onValueChanged - ParameterNaming:SpeedPickerDialog.kt$onSpeedChanged - ParameterNaming:StorageScreenContent.kt$onCategorySelected - ParameterNaming:StreamsCatalogSheet.kt$onAudioSelected - ParameterNaming:StreamsCatalogSheet.kt$onQualitySelected - ParameterNaming:StreamsCatalogSheet.kt$onSettingsClicked - ParameterNaming:StreamsCatalogSheet.kt$onSubtitleSelected - ParameterNaming:StreamsCatalogSheet.kt$onTrackSelected - ParameterNaming:SwitchPreferenceWidget.kt$onCheckedChanged - ParameterNaming:TabbedDialog.kt$onOverflowMenuClicked - ParameterNaming:TriStateListDialog.kt$onValueChanged - ParameterNaming:VideoChaptersSheet.kt$onVideoChapterSelected - ReturnCount:AndroidAnimeSourceManager.kt$AndroidAnimeSourceManager$private suspend fun createStubSource(id: Long): StubAnimeSource - ReturnCount:AndroidMangaSourceManager.kt$AndroidMangaSourceManager$private suspend fun createStubSource(id: Long): StubMangaSource - ReturnCount:AnimeCoverFetcher.kt$AnimeCoverFetcher$private suspend fun httpLoader(): FetchResult - ReturnCount:AnimeDownload.kt$AnimeDownload.Companion$suspend fun fromEpisodeId( episodeId: Long, getEpisode: GetEpisode = Injekt.get(), getAnimeById: GetAnime = Injekt.get(), sourceManager: AnimeSourceManager = Injekt.get(), ): AnimeDownload? - ReturnCount:AnimeDownloadCache.kt$AnimeDownloadCache$fun isEpisodeDownloaded( episodeName: String, episodeScanlator: String?, animeTitle: String, sourceId: Long, skipCache: Boolean, ): Boolean - ReturnCount:AnimeDownloadManager.kt$AnimeDownloadManager$fun renameSource(oldSource: AnimeSource, newSource: AnimeSource) - ReturnCount:AnimeDownloader.kt$AnimeDownloader$private fun parseDuration(durationString: String): Long? - ReturnCount:AnimeExtensionInstallReceiver.kt$AnimeExtensionInstallReceiver$override fun onReceive(context: Context, intent: Intent?) - ReturnCount:AnimeExtensionInstallService.kt$AnimeExtensionInstallService$override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int - ReturnCount:AnimeExtensionInstaller.kt$AnimeExtensionInstaller.DownloadCompletionReceiver$override fun onReceive(context: Context, intent: Intent?) - ReturnCount:AnimeExtensionLoader.kt$AnimeExtensionLoader$fun installPrivateExtensionFile(context: Context, file: File): Boolean - ReturnCount:AnimeExtensionLoader.kt$AnimeExtensionLoader$private fun loadExtension(context: Context, extensionInfo: AnimeExtensionInfo): AnimeLoadResult - ReturnCount:AnimeExtensionLoader.kt$AnimeExtensionLoader$private fun selectExtensionPackage(shared: AnimeExtensionInfo?, private: AnimeExtensionInfo?): AnimeExtensionInfo? - ReturnCount:AnimeExtensions.kt$fun Anime.prepUpdateCover(coverCache: AnimeCoverCache, remoteAnime: SAnime, refreshSameUrl: Boolean): Anime - ReturnCount:AnimeExtensions.kt$fun Anime.removeCovers(coverCache: AnimeCoverCache = Injekt.get()): Anime - ReturnCount:AnimeExtensions.kt$fun Anime.shouldDownloadNewEpisodes(dbCategories: List<Long>, preferences: DownloadPreferences): Boolean - ReturnCount:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob$override suspend fun doWork(): Result - ReturnCount:AnimeScreen.kt$AnimeScreen$private fun getAnimeUrl(anime_: Anime?, source_: AnimeSource?): String? - ReturnCount:AnimeScreenModel.kt$AnimeScreenModel$fun runEpisodeDownloadActions( items: List<EpisodeList.Item>, action: EpisodeDownloadAction, ) - ReturnCount:BackupCreateJob.kt$BackupCreateJob$override suspend fun doWork(): Result - ReturnCount:BaseColorScheme.kt$BaseColorScheme$fun getColorScheme(isDark: Boolean, isAmoled: Boolean): ColorScheme - ReturnCount:CreateAniyomiExtensionRepo.kt$CreateAnimeExtensionRepo$fun await(name: String): Result - ReturnCount:CreateMangaExtensionRepo.kt$CreateMangaExtensionRepo$fun await(name: String): Result - ReturnCount:ExtensionInstallerPreference.kt$ExtensionInstallerPreference$private fun check(value: ExtensionInstaller): ExtensionInstaller - ReturnCount:ExternalIntents.kt$ExternalIntents$suspend fun getExternalIntent( context: Context, animeId: Long?, episodeId: Long?, chosenVideo: Video?, ): Intent? - ReturnCount:GestureHandler.kt$GestureHandler$override fun onDoubleTap(e: MotionEvent): Boolean - ReturnCount:GestureHandler.kt$GestureHandler$override fun onScroll( e1: MotionEvent?, e2: MotionEvent, distanceX: Float, distanceY: Float, ): Boolean - ReturnCount:GestureHandler.kt$GestureHandler$override fun onSingleTapUp(e: MotionEvent): Boolean - ReturnCount:HttpPageLoader.kt$HttpPageLoader$private fun preloadNextPages(currentPage: ReaderPage, amount: Int): List<PriorityPage> - ReturnCount:JellyfinApi.kt$JellyfinApi$private suspend fun getTrackFromSeries(track: AnimeTrackSearch, url: HttpUrl): AnimeTrackSearch - ReturnCount:KavitaApi.kt$KavitaApi$fun getNewToken(apiUrl: String, apiKey: String): String? - ReturnCount:KavitaApi.kt$KavitaApi$private fun getLatestChapterRead(url: String): Double - ReturnCount:KitsuDateHelper.kt$KitsuDateHelper$fun parse(dateString: String?): Long - ReturnCount:MainActivity.kt$MainActivity$private fun handleIntentAction(intent: Intent, navigator: Navigator): Boolean - ReturnCount:MangaCoverFetcher.kt$MangaCoverFetcher$private suspend fun httpLoader(): FetchResult - ReturnCount:MangaDownload.kt$MangaDownload.Companion$suspend fun fromChapterId( chapterId: Long, getChapter: GetChapter = Injekt.get(), getManga: GetManga = Injekt.get(), sourceManager: MangaSourceManager = Injekt.get(), ): MangaDownload? - ReturnCount:MangaDownloadCache.kt$MangaDownloadCache$fun isChapterDownloaded( chapterName: String, chapterScanlator: String?, mangaTitle: String, sourceId: Long, skipCache: Boolean, ): Boolean - ReturnCount:MangaDownloadManager.kt$MangaDownloadManager$fun renameSource(oldSource: MangaSource, newSource: MangaSource) - ReturnCount:MangaDownloader.kt$MangaDownloader$private fun isDownloadSuccessful( download: MangaDownload, tmpDir: UniFile, ): Boolean - ReturnCount:MangaExtensionInstallReceiver.kt$MangaExtensionInstallReceiver$override fun onReceive(context: Context, intent: Intent?) - ReturnCount:MangaExtensionInstallService.kt$MangaExtensionInstallService$override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int - ReturnCount:MangaExtensionInstaller.kt$MangaExtensionInstaller.DownloadCompletionReceiver$override fun onReceive(context: Context, intent: Intent?) - ReturnCount:MangaExtensionLoader.kt$MangaExtensionLoader$fun installPrivateExtensionFile(context: Context, file: File): Boolean - ReturnCount:MangaExtensionLoader.kt$MangaExtensionLoader$private fun loadMangaExtension(context: Context, extensionInfo: MangaExtensionInfo): MangaLoadResult - ReturnCount:MangaExtensionLoader.kt$MangaExtensionLoader$private fun selectExtensionPackage(shared: MangaExtensionInfo?, private: MangaExtensionInfo?): MangaExtensionInfo? - ReturnCount:MangaExtensions.kt$fun Manga.prepUpdateCover(coverCache: MangaCoverCache, remoteManga: SManga, refreshSameUrl: Boolean): Manga - ReturnCount:MangaExtensions.kt$fun Manga.removeCovers(coverCache: MangaCoverCache = Injekt.get()): Manga - ReturnCount:MangaExtensions.kt$fun Manga.shouldDownloadNewChapters(dbCategories: List<Long>, preferences: DownloadPreferences): Boolean - ReturnCount:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob$override suspend fun doWork(): Result - ReturnCount:MangaScreen.kt$MangaScreen$private fun getMangaUrl(manga_: Manga?, source_: MangaSource?): 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, playerPreferences: PlayerPreferences, backupPreferences: BackupPreferences, trackerManager: TrackerManager, ): Boolean - ReturnCount:MyAnimeList.kt$MyAnimeList$override suspend fun searchAnime(query: String): List<AnimeTrackSearch> - ReturnCount:MyAnimeList.kt$MyAnimeList$override suspend fun searchManga(query: String): List<MangaTrackSearch> - ReturnCount:NetworkExtensions.kt$fun Context.isConnectedToWifi(): Boolean - ReturnCount:NetworkExtensions.kt$fun Context.isOnline(): Boolean - ReturnCount:NotificationReceiver.kt$NotificationReceiver$override fun onReceive(context: Context, intent: Intent) - ReturnCount:PagerPageHolder.kt$PagerPageHolder$private fun process(page: ReaderPage, imageStream: BufferedInputStream): InputStream - ReturnCount:PagerViewer.kt$PagerViewer$override fun handleKeyEvent(event: KeyEvent): Boolean - ReturnCount:PagerViewer.kt$PagerViewer$private fun checkAllowPreload(page: ReaderPage?): Boolean - ReturnCount:PagerViewerAdapter.kt$PagerViewerAdapter$fun onPageSplit(currentPage: Any?, newPage: InsertPage) - ReturnCount:PlayerActivity.kt$PlayerActivity$internal fun updatePip(start: Boolean) - ReturnCount:PlayerActivity.kt$PlayerActivity$override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean - ReturnCount:PlayerActivity.kt$PlayerActivity$private fun openContentFd(uri: Uri): String? - ReturnCount:PlayerViewModel.kt$PlayerViewModel$fun isEpisodeOnline(): Boolean? - ReturnCount:PlayerViewModel.kt$PlayerViewModel$fun onSecondReached(position: Int, duration: Int) - ReturnCount:PlayerViewModel.kt$PlayerViewModel$fun saveImage(imageStream: () -> InputStream, timePos: Int?) - ReturnCount:PlayerViewModel.kt$PlayerViewModel$fun shareImage(imageStream: () -> InputStream, timePos: Int?) - ReturnCount:PlayerViewModel.kt$PlayerViewModel$private fun downloadNextEpisodes() - ReturnCount:PlayerViewModel.kt$PlayerViewModel$private fun updateTrackEpisodeSeen(episode: Episode) - ReturnCount:PlayerViewModel.kt$PlayerViewModel$suspend fun aniSkipResponse(playerDuration: Int?): List<Stamp>? - ReturnCount:PlayerViewModel.kt$PlayerViewModel$suspend fun loadEpisode(episodeId: Long?): Pair<List<Video>?, String>? - ReturnCount:ReaderActivity.kt$ReaderActivity$override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean - ReturnCount:ReaderActivity.kt$ReaderActivity$private fun moveToPageIndex(index: Int) - ReturnCount:ReaderViewModel.kt$ReaderViewModel$fun getChapterUrl(): String? - ReturnCount:ReaderViewModel.kt$ReaderViewModel$fun setAsCover() - ReturnCount:ReaderViewModel.kt$ReaderViewModel$private fun downloadNextChapters() - ReturnCount:ReaderViewModel.kt$ReaderViewModel$private fun updateTrackChapterRead(readerChapter: ReaderChapter) - ReturnCount:ReaderViewModel.kt$ReaderViewModel$suspend fun preload(chapter: ReaderChapter) - ReturnCount:TvUtils.kt$fun isTvBox(context: Context): Boolean - ReturnCount:ViewExtensions.kt$fun View?.isVisibleOnScreen(): Boolean - ReturnCount:WebtoonFrame.kt$WebtoonFrame$override fun dispatchTouchEvent(ev: MotionEvent): Boolean - ReturnCount:WebtoonPageHolder.kt$WebtoonPageHolder$private fun process(imageStream: BufferedInputStream): InputStream - ReturnCount:WebtoonRecyclerView.kt$WebtoonRecyclerView.Detector$override fun onTouchEvent(ev: MotionEvent): Boolean - ReturnCount:WebtoonViewer.kt$WebtoonViewer$override fun handleKeyEvent(event: KeyEvent): Boolean - ReturnCount:WebtoonViewer.kt$WebtoonViewer$private fun checkAllowPreload(page: ReaderPage?): Boolean - SpreadOperator:AnimeLibraryScreenModel.kt$AnimeLibraryScreenModel$(*prefFlows) - SpreadOperator:AnimeSourcesScreenModel.kt$AnimeSourcesScreenModel$( AnimeSourceUiModel.Header(it.key), *it.value.map { source -> AnimeSourceUiModel.Item(source) }.toTypedArray(), ) - SpreadOperator:CommonStorageScreenModel.kt$CommonStorageScreenModel$(AllCategory, *categories.toTypedArray()) - SpreadOperator:MangaLibraryScreenModel.kt$MangaLibraryScreenModel$(*prefFlows) - SpreadOperator:MangaSourcesScreenModel.kt$MangaSourcesScreenModel$( MangaSourceUiModel.Header(it.key), *it.value.map { source -> MangaSourceUiModel.Item(source) }.toTypedArray(), ) - SwallowedException:AboutScreen.kt$AboutScreen$e: Exception - SwallowedException:AniChartApi.kt$AniChartApi$e: Exception - SwallowedException:AniSkipApi.kt$AniSkipApi$e: Exception - SwallowedException:Anilist.kt$Anilist$e: ClassCastException - SwallowedException:Anilist.kt$Anilist$e: Exception - SwallowedException:Anilist.kt$Anilist$e: Throwable - SwallowedException:AnilistModels.kt$ALAnime$e: Exception - SwallowedException:AnilistModels.kt$ALManga$e: Exception - SwallowedException:AnimeDownloadPendingDeleter.kt$AnimeDownloadPendingDeleter$e: Exception - SwallowedException:AnimeDownloadStore.kt$AnimeDownloadStore$e: Exception - SwallowedException:AnimeDownloader.kt$AnimeDownloader$e: Exception - SwallowedException:AnimeExtensionLoader.kt$AnimeExtensionLoader$error: PackageManager.NameNotFoundException - SwallowedException:AnimeMetadataUpdateJob.kt$AnimeMetadataUpdateJob$e: Exception - SwallowedException:AnimeScreen.kt$AnimeScreen$e: Exception - SwallowedException:AnimeTrackInfoDialog.kt$AnimeTrackInfoDialogHomeScreen.Model$e: Exception - SwallowedException:BackupRestorer.kt$BackupRestorer$e: Exception - SwallowedException:Bangumi.kt$Bangumi$e: Exception - SwallowedException:Bangumi.kt$Bangumi$e: Throwable - SwallowedException:BrowseAnimeIcons.kt$e: Exception - SwallowedException:BrowseMangaIcons.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:EpisodeLoader.kt$EpisodeLoader.Companion$e: Throwable - SwallowedException:ExternalIntents.kt$ExternalIntents$e: PackageManager.NameNotFoundException - SwallowedException:Jellyfin.kt$Jellyfin$e: Exception - SwallowedException:Kavita.kt$Kavita$e: Exception - SwallowedException:KavitaApi.kt$KavitaApi$e: SocketTimeoutException - SwallowedException:Kitsu.kt$Kitsu$e: Exception - SwallowedException:KitsuModels.kt$KitsuSearchAnime$e: IllegalArgumentException - SwallowedException:KitsuModels.kt$KitsuSearchManga$e: IllegalArgumentException - SwallowedException:Komga.kt$Komga$e: Exception - SwallowedException:MangaDownloadPendingDeleter.kt$MangaDownloadPendingDeleter$e: Exception - SwallowedException:MangaDownloadStore.kt$MangaDownloadStore$e: Exception - SwallowedException:MangaDownloader.kt$MangaDownloader$e: Throwable - SwallowedException:MangaExtensionLoader.kt$MangaExtensionLoader$error: PackageManager.NameNotFoundException - SwallowedException:MangaMetadataUpdateJob.kt$MangaMetadataUpdateJob$e: Exception - SwallowedException:MangaScreen.kt$MangaScreen$e: Exception - SwallowedException:MangaTrackInfoDialog.kt$MangaTrackInfoDialogHomeScreen.Model$e: Exception - SwallowedException:MangaUpdates.kt$MangaUpdates$e: Exception - SwallowedException:MangaUpdatesApi.kt$MangaUpdatesApi$e: Exception - SwallowedException:Migrations.kt$Migrations$e: ClassCastException - SwallowedException:MyAnimeList.kt$MyAnimeList$e: Exception - SwallowedException:MyAnimeList.kt$MyAnimeList$e: Throwable - SwallowedException:MyAnimeListApi.kt$MyAnimeListApi$e: Exception - SwallowedException:Pager.kt$Pager$e: IllegalArgumentException - SwallowedException:Pager.kt$Pager$e: IndexOutOfBoundsException - SwallowedException:Pager.kt$Pager$e: NullPointerException - SwallowedException:PlayerViewModel.kt$PlayerViewModel$e: Exception - 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:Simkl.kt$Simkl$e: Exception - SwallowedException:Simkl.kt$Simkl$e: Throwable - SwallowedException:StorageStep.kt$StorageStep$e: ActivityNotFoundException - SwallowedException:Suwayomi.kt$Suwayomi$e: Exception - ThrowingExceptionsWithoutMessageOrCause:AnimeScreenModel.kt$AnimeScreenModel$IllegalStateException() - ThrowingExceptionsWithoutMessageOrCause:AnimeTrackInfoDialog.kt$AnimeTrackInfoDialogHomeScreen.Model$Exception() - ThrowingExceptionsWithoutMessageOrCause:MangaScreenModel.kt$MangaScreenModel$IllegalStateException() - ThrowingExceptionsWithoutMessageOrCause:MangaTrackInfoDialog.kt$MangaTrackInfoDialogHomeScreen.Model$Exception() - ThrowingExceptionsWithoutMessageOrCause:PackageInstallerInstallerAnime.kt$PackageInstallerInstallerAnime$IllegalStateException() - ThrowingExceptionsWithoutMessageOrCause:PackageInstallerInstallerManga.kt$PackageInstallerInstallerManga$IllegalStateException() - ThrowingExceptionsWithoutMessageOrCause:ShizukuInstallerAnime.kt$ShizukuInstallerAnime$IllegalStateException() - ThrowingExceptionsWithoutMessageOrCause:ShizukuInstallerManga.kt$ShizukuInstallerManga$IllegalStateException() - ThrowsCount:AnimeDownloader.kt$AnimeDownloader$private suspend fun httpDownload( download: AnimeDownload, tmpDir: UniFile, filename: String, threadNumber: Int, safeDownload: Boolean, ): UniFile - ThrowsCount:BackupCreator.kt$BackupCreator$suspend fun backup(uri: Uri, options: BackupOptions): String - ThrowsCount:KavitaApi.kt$KavitaApi$fun getNewToken(apiUrl: String, apiKey: String): String? - ThrowsCount:PlayerViewModel.kt$PlayerViewModel$suspend fun init( animeId: Long, initialEpisodeId: Long, vidList: String, vidIndex: Int, ): Pair<InitResult, Result<Boolean>> - TooGenericExceptionCaught:AboutScreen.kt$AboutScreen$e: Exception - TooGenericExceptionCaught:AddAnimeTracks.kt$AddAnimeTracks$e: Exception - TooGenericExceptionCaught:AddMangaTracks.kt$AddMangaTracks$e: Exception - TooGenericExceptionCaught:AniChartApi.kt$AniChartApi$e: Exception - TooGenericExceptionCaught:AniSkipApi.kt$AniSkipApi$e: Exception - TooGenericExceptionCaught:Anilist.kt$Anilist$e: Exception - TooGenericExceptionCaught:Anilist.kt$Anilist$e: Throwable - TooGenericExceptionCaught:AnilistModels.kt$ALAnime$e: Exception - TooGenericExceptionCaught:AnilistModels.kt$ALManga$e: Exception - TooGenericExceptionCaught:AnimeCoverFetcher.kt$AnimeCoverFetcher$e: Exception - TooGenericExceptionCaught:AnimeCoverScreenModel.kt$AnimeCoverScreenModel$e: Exception - TooGenericExceptionCaught:AnimeCoverScreenModel.kt$AnimeCoverScreenModel$e: Throwable - TooGenericExceptionCaught:AnimeDownloadCache.kt$AnimeDownloadCache$e: Throwable - TooGenericExceptionCaught:AnimeDownloadPendingDeleter.kt$AnimeDownloadPendingDeleter$e: Exception - TooGenericExceptionCaught:AnimeDownloadProvider.kt$AnimeDownloadProvider$e: Throwable - TooGenericExceptionCaught:AnimeDownloadStore.kt$AnimeDownloadStore$e: Exception - TooGenericExceptionCaught:AnimeDownloader.kt$AnimeDownloader$e: Exception - TooGenericExceptionCaught:AnimeDownloader.kt$AnimeDownloader$e: Throwable - TooGenericExceptionCaught:AnimeExtensionApi.kt$AnimeExtensionApi$e: Throwable - TooGenericExceptionCaught:AnimeExtensionDetailsScreenModel.kt$AnimeExtensionDetailsScreenModel$e: Exception - TooGenericExceptionCaught:AnimeExtensionInstallActivity.kt$AnimeExtensionInstallActivity$error: Exception - TooGenericExceptionCaught:AnimeExtensionInstaller.kt$AnimeExtensionInstaller$e: Exception - TooGenericExceptionCaught:AnimeExtensionLoader.kt$AnimeExtensionLoader$e: Exception - TooGenericExceptionCaught:AnimeExtensionLoader.kt$AnimeExtensionLoader$e: Throwable - TooGenericExceptionCaught:AnimeExtensionManager.kt$AnimeExtensionManager$e: Exception - TooGenericExceptionCaught:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob$e: Exception - TooGenericExceptionCaught:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob$e: Throwable - TooGenericExceptionCaught:AnimeMetadataUpdateJob.kt$AnimeMetadataUpdateJob$e: Exception - TooGenericExceptionCaught:AnimeMetadataUpdateJob.kt$AnimeMetadataUpdateJob$e: Throwable - TooGenericExceptionCaught:AnimeScreen.kt$AnimeScreen$e: Exception - TooGenericExceptionCaught:AnimeScreenModel.kt$AnimeScreenModel$e: Throwable - TooGenericExceptionCaught:AnimeSearchScreenModel.kt$AnimeSearchScreenModel$e: Exception - TooGenericExceptionCaught:AnimeTrackInfoDialog.kt$AnimeTrackInfoDialogHomeScreen.Model$e: Exception - TooGenericExceptionCaught:AnimeTrackInfoDialog.kt$TrackServiceSearchScreen.Model$e: Throwable - TooGenericExceptionCaught:AnimeTracker.kt$AnimeTracker$e: Exception - TooGenericExceptionCaught:AnimeTracker.kt$AnimeTracker$e: Throwable - 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:BrowseAnimeIcons.kt$e: Exception - TooGenericExceptionCaught:BrowseMangaIcons.kt$e: Exception - TooGenericExceptionCaught:ChapterCache.kt$ChapterCache$e: Exception - TooGenericExceptionCaught:ChapterLoader.kt$ChapterLoader$e: Throwable - TooGenericExceptionCaught:CloseableExtensions.kt$closeException: Throwable - TooGenericExceptionCaught:CloseableExtensions.kt$e: Throwable - TooGenericExceptionCaught:ContextExtensions.kt$e: Exception - TooGenericExceptionCaught:ContextExtensions.kt$e: Throwable - TooGenericExceptionCaught:CrashLogUtil.kt$CrashLogUtil$e: Throwable - TooGenericExceptionCaught:EpisodeLoader.kt$EpisodeLoader.Companion$e: Exception - TooGenericExceptionCaught:EpisodeLoader.kt$EpisodeLoader.Companion$e: Throwable - TooGenericExceptionCaught:EpisodeOptionsDialogScreen.kt$EpisodeOptionsDialogScreenModel$e: Throwable - TooGenericExceptionCaught:GlobalExceptionHandler.kt$GlobalExceptionHandler.Companion$e: Exception - TooGenericExceptionCaught:HttpPageLoader.kt$HttpPageLoader$e: Throwable - TooGenericExceptionCaught:ImageSaver.kt$ImageSaver$e: Exception - TooGenericExceptionCaught:Jellyfin.kt$Jellyfin$e: Exception - TooGenericExceptionCaught:JellyfinApi.kt$JellyfinApi$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:MainActivity.kt$MainActivity$e: Exception - TooGenericExceptionCaught:MainActivity.kt$MainActivity.Companion$e: Exception - TooGenericExceptionCaught:MangaCoverFetcher.kt$MangaCoverFetcher$e: Exception - TooGenericExceptionCaught:MangaCoverScreenModel.kt$MangaCoverScreenModel$e: Exception - TooGenericExceptionCaught:MangaCoverScreenModel.kt$MangaCoverScreenModel$e: Throwable - TooGenericExceptionCaught:MangaDownloadCache.kt$MangaDownloadCache$e: Throwable - TooGenericExceptionCaught:MangaDownloadPendingDeleter.kt$MangaDownloadPendingDeleter$e: Exception - TooGenericExceptionCaught:MangaDownloadProvider.kt$MangaDownloadProvider$e: Throwable - TooGenericExceptionCaught:MangaDownloadStore.kt$MangaDownloadStore$e: Exception - TooGenericExceptionCaught:MangaDownloader.kt$MangaDownloader$e: Exception - TooGenericExceptionCaught:MangaDownloader.kt$MangaDownloader$e: Throwable - TooGenericExceptionCaught:MangaDownloader.kt$MangaDownloader$error: Throwable - TooGenericExceptionCaught:MangaExtensionApi.kt$MangaExtensionApi$e: Throwable - TooGenericExceptionCaught:MangaExtensionDetailsScreenModel.kt$MangaExtensionDetailsScreenModel$e: Exception - TooGenericExceptionCaught:MangaExtensionInstallActivity.kt$MangaExtensionInstallActivity$error: Exception - TooGenericExceptionCaught:MangaExtensionInstaller.kt$MangaExtensionInstaller$e: Exception - TooGenericExceptionCaught:MangaExtensionLoader.kt$MangaExtensionLoader$e: Exception - TooGenericExceptionCaught:MangaExtensionLoader.kt$MangaExtensionLoader$e: Throwable - TooGenericExceptionCaught:MangaExtensionManager.kt$MangaExtensionManager$e: Exception - TooGenericExceptionCaught:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob$e: Exception - TooGenericExceptionCaught:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob$e: Throwable - TooGenericExceptionCaught:MangaMetadataUpdateJob.kt$MangaMetadataUpdateJob$e: Exception - TooGenericExceptionCaught:MangaMetadataUpdateJob.kt$MangaMetadataUpdateJob$e: Throwable - TooGenericExceptionCaught:MangaScreen.kt$MangaScreen$e: Exception - TooGenericExceptionCaught:MangaScreenModel.kt$MangaScreenModel$e: Throwable - TooGenericExceptionCaught:MangaSearchScreenModel.kt$MangaSearchScreenModel$e: Exception - TooGenericExceptionCaught:MangaTrackInfoDialog.kt$MangaTrackInfoDialogHomeScreen.Model$e: Exception - TooGenericExceptionCaught:MangaTrackInfoDialog.kt$TrackServiceSearchScreen.Model$e: Throwable - TooGenericExceptionCaught:MangaTracker.kt$MangaTracker$e: Exception - TooGenericExceptionCaught:MangaTracker.kt$MangaTracker$e: Throwable - TooGenericExceptionCaught:MangaUpdates.kt$MangaUpdates$e: Exception - TooGenericExceptionCaught:MangaUpdatesApi.kt$MangaUpdatesApi$e: Exception - TooGenericExceptionCaught:MyAnimeList.kt$MyAnimeList$e: Exception - TooGenericExceptionCaught:MyAnimeList.kt$MyAnimeList$e: Throwable - TooGenericExceptionCaught:MyAnimeListApi.kt$MyAnimeListApi$e: Exception - TooGenericExceptionCaught:OkioExtensions.kt$e: Exception - TooGenericExceptionCaught:PackageInstallerInstallerAnime.kt$PackageInstallerInstallerAnime$e: Exception - TooGenericExceptionCaught:PackageInstallerInstallerManga.kt$PackageInstallerInstallerManga$e: Exception - TooGenericExceptionCaught:Pager.kt$Pager$e: IndexOutOfBoundsException - TooGenericExceptionCaught:Pager.kt$Pager$e: NullPointerException - TooGenericExceptionCaught:PagerPageHolder.kt$PagerPageHolder$e: Throwable - TooGenericExceptionCaught:PlayerActivity.kt$PlayerActivity$e: Exception - TooGenericExceptionCaught:PlayerViewModel.kt$PlayerViewModel$e: Exception - TooGenericExceptionCaught:PlayerViewModel.kt$PlayerViewModel$e: Throwable - 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:RefreshAnimeTracks.kt$RefreshAnimeTracks$e: Throwable - TooGenericExceptionCaught:RefreshMangaTracks.kt$RefreshMangaTracks$e: Throwable - TooGenericExceptionCaught:RestoreBackupScreen.kt$RestoreBackupScreenModel$e: Exception - TooGenericExceptionCaught:SetReadStatus.kt$SetReadStatus$e: Exception - TooGenericExceptionCaught:SetSeenStatus.kt$SetSeenStatus$e: Exception - TooGenericExceptionCaught:SettingsAdvancedScreen.kt$SettingsAdvancedScreen$e: Throwable - TooGenericExceptionCaught:SettingsDataScreen.kt$SettingsDataScreen$e: Throwable - TooGenericExceptionCaught:SettingsTrackingScreen.kt$SettingsTrackingScreen$e: Throwable - TooGenericExceptionCaught:Shikimori.kt$Shikimori$e: Exception - TooGenericExceptionCaught:Shikimori.kt$Shikimori$e: Throwable - TooGenericExceptionCaught:ShizukuInstallerAnime.kt$ShizukuInstallerAnime$e: Exception - TooGenericExceptionCaught:ShizukuInstallerManga.kt$ShizukuInstallerManga$e: Exception - TooGenericExceptionCaught:Simkl.kt$Simkl$e: Exception - TooGenericExceptionCaught:Simkl.kt$Simkl$e: Throwable - TooGenericExceptionCaught:Suwayomi.kt$Suwayomi$e: Exception - TooGenericExceptionCaught:SyncChapterProgressWithTrack.kt$SyncChapterProgressWithTrack$e: Throwable - TooGenericExceptionCaught:SyncEpisodeProgressWithTrack.kt$SyncEpisodeProgressWithTrack$e: Throwable - TooGenericExceptionCaught:TrackChapter.kt$TrackChapter$e: Exception - TooGenericExceptionCaught:WebViewActivity.kt$WebViewActivity$e: Exception - TooGenericExceptionCaught:WebViewScreenModel.kt$WebViewScreenModel$e: Exception - TooGenericExceptionCaught:WebtoonPageHolder.kt$WebtoonPageHolder$e: Throwable - 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 anime") - TooGenericExceptionThrown:AnilistApi.kt$AnilistApi$throw Exception("Could not find manga") - TooGenericExceptionThrown:AnilistInterceptor.kt$AnilistInterceptor$throw Exception("Not authenticated with Anilist") - TooGenericExceptionThrown:AnimeDownloadManager.kt$AnimeDownloadManager$throw Exception(context.stringResource(MR.strings.video_list_empty_error)) - TooGenericExceptionThrown:AnimeDownloadProvider.kt$AnimeDownloadProvider$throw Exception( context.stringResource( MR.strings.invalid_location, downloadsDir?.displayablePath ?: "", ), ) - TooGenericExceptionThrown:AnimeDownloader.kt$AnimeDownloader$throw Exception( "Launch intent not found", ) - TooGenericExceptionThrown:AnimeDownloader.kt$AnimeDownloader$throw Exception("Base file not found") - TooGenericExceptionThrown:AnimeDownloader.kt$AnimeDownloader$throw Exception("Cannot merge tmp part file") - TooGenericExceptionThrown:AnimeDownloader.kt$AnimeDownloader$throw Exception("Could not get video size") - TooGenericExceptionThrown:AnimeDownloader.kt$AnimeDownloader$throw Exception("Download failed") - TooGenericExceptionThrown:AnimeDownloader.kt$AnimeDownloader$throw Exception("Download has been stopped") - TooGenericExceptionThrown:AnimeDownloader.kt$AnimeDownloader$throw Exception("Download stopped") - TooGenericExceptionThrown:AnimeDownloader.kt$AnimeDownloader$throw Exception("Downloaded file not found") - TooGenericExceptionThrown:AnimeDownloader.kt$AnimeDownloader$throw Exception("Error in ffmpeg!") - TooGenericExceptionThrown:AnimeDownloader.kt$AnimeDownloader$throw Exception("Unable to finalize download") - TooGenericExceptionThrown:AnimeDownloader.kt$AnimeDownloader$throw Exception(context.stringResource(MR.strings.download_insufficient_space)) - TooGenericExceptionThrown:AnimeDownloader.kt$AnimeDownloader$throw Exception(context.stringResource(MR.strings.video_list_empty_error)) - TooGenericExceptionThrown:AnimeExtensionLoader.kt$AnimeExtensionLoader$throw Exception("Unknown source class type: ${obj.javaClass}") - TooGenericExceptionThrown:AnimeTrackInfoDialog.kt$AnimeTrackInfoDialogHomeScreen.Model$throw Exception() - 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:ChapterLoader.kt$ChapterLoader$throw Exception(context.stringResource(MR.strings.page_list_empty_error)) - TooGenericExceptionThrown:ExternalIntents.kt$ExternalIntents$throw Exception("Video list is empty") - TooGenericExceptionThrown:Jellyfin.kt$Jellyfin$throw Exception("Not used") - TooGenericExceptionThrown:KitsuApi.kt$KitsuApi$throw Exception("Could not find anime") - TooGenericExceptionThrown:KitsuApi.kt$KitsuApi$throw Exception("Could not find manga") - TooGenericExceptionThrown:KitsuInterceptor.kt$KitsuInterceptor$throw Exception("Not authenticated with Kitsu") - TooGenericExceptionThrown:KitsuModels.kt$KitsuLibAnime$throw Exception("Unknown status") - TooGenericExceptionThrown:KitsuModels.kt$KitsuLibManga$throw Exception("Unknown status") - TooGenericExceptionThrown:KitsuModels.kt$throw Exception("Unknown status") - TooGenericExceptionThrown:Komga.kt$Komga$throw Exception( "Not used", ) - TooGenericExceptionThrown:MangaDownloadManager.kt$MangaDownloadManager$throw Exception(context.stringResource(MR.strings.page_list_empty_error)) - TooGenericExceptionThrown:MangaDownloadProvider.kt$MangaDownloadProvider$throw Exception( context.stringResource( MR.strings.invalid_location, downloadsDir?.displayablePath ?: "", ), ) - TooGenericExceptionThrown:MangaDownloader.kt$MangaDownloader$throw Exception(context.stringResource(MR.strings.page_list_empty_error)) - TooGenericExceptionThrown:MangaExtensionLoader.kt$MangaExtensionLoader$throw Exception("Unknown source class type: ${obj.javaClass}") - TooGenericExceptionThrown:MangaTrackInfoDialog.kt$MangaTrackInfoDialogHomeScreen.Model$throw Exception() - TooGenericExceptionThrown:MangaUpdates.kt$MangaUpdates$throw Throwable( "Unable to login", ) - TooGenericExceptionThrown:PlayerViewModel.kt$PlayerViewModel$throw Exception("No episode loaded.") - TooGenericExceptionThrown:PlayerViewModel.kt$PlayerViewModel$throw Exception("Video list is empty.") - TooGenericExceptionThrown:PlayerViewModel.kt$PlayerViewModel$throw Exception("Video selected from empty list?") - TooGenericExceptionThrown:ShikimoriApi.kt$ShikimoriApi$throw Exception("Too much animes in response") - TooGenericExceptionThrown:ShikimoriApi.kt$ShikimoriApi$throw Exception("Too much mangas in response") - TooGenericExceptionThrown:ShikimoriInterceptor.kt$ShikimoriInterceptor$throw Exception("Not authenticated with Shikimori") - TooGenericExceptionThrown:ShizukuInstallerAnime.kt$ShizukuInstallerAnime$throw RuntimeException("Failed to commit install session $sessionId") - TooGenericExceptionThrown:ShizukuInstallerAnime.kt$ShizukuInstallerAnime$throw RuntimeException("Failed to create install session") - TooGenericExceptionThrown:ShizukuInstallerAnime.kt$ShizukuInstallerAnime$throw RuntimeException("Failed to write APK to session $sessionId") - TooGenericExceptionThrown:ShizukuInstallerManga.kt$ShizukuInstallerManga$throw RuntimeException("Failed to commit install session $sessionId") - TooGenericExceptionThrown:ShizukuInstallerManga.kt$ShizukuInstallerManga$throw RuntimeException("Failed to create install session") - TooGenericExceptionThrown:ShizukuInstallerManga.kt$ShizukuInstallerManga$throw RuntimeException("Failed to write APK to session $sessionId") - TooGenericExceptionThrown:SimklInterceptor.kt$SimklInterceptor$throw Exception("Not authenticated with Simkl") - TooManyFunctions:Anilist.kt$Anilist : BaseTrackerMangaTrackerAnimeTrackerDeletableMangaTrackerDeletableAnimeTracker - TooManyFunctions:AnilistApi.kt$AnilistApi - TooManyFunctions:AnimeCoverFetcher.kt$AnimeCoverFetcher : Fetcher - TooManyFunctions:AnimeDownloadCache.kt$AnimeDownloadCache - TooManyFunctions:AnimeDownloadManager.kt$AnimeDownloadManager - TooManyFunctions:AnimeDownloadProvider.kt$AnimeDownloadProvider - TooManyFunctions:AnimeDownloadQueueScreenModel.kt$AnimeDownloadQueueScreenModel : ScreenModel - TooManyFunctions:AnimeDownloader.kt$AnimeDownloader - TooManyFunctions:AnimeExtensionLoader.kt$AnimeExtensionLoader - TooManyFunctions:AnimeExtensionManager.kt$AnimeExtensionManager - TooManyFunctions:AnimeExtensionsScreenModel.kt$AnimeExtensionsScreenModel : StateScreenModel - TooManyFunctions:AnimeLibraryScreenModel.kt$AnimeLibraryScreenModel : StateScreenModel - TooManyFunctions:AnimeRestorer.kt$AnimeRestorer - TooManyFunctions:AnimeScreenModel.kt$AnimeScreenModel : StateScreenModel - TooManyFunctions:AnimeTracker.kt$AnimeTracker - TooManyFunctions:AnimeUpdatesScreenModel.kt$AnimeUpdatesScreenModel : StateScreenModel - TooManyFunctions:Bangumi.kt$Bangumi : BaseTrackerMangaTrackerAnimeTracker - TooManyFunctions:BangumiApi.kt$BangumiApi - TooManyFunctions:BrowseAnimeSourceScreenModel.kt$BrowseAnimeSourceScreenModel : StateScreenModel - TooManyFunctions:BrowseMangaSourceScreenModel.kt$BrowseMangaSourceScreenModel : StateScreenModel - TooManyFunctions:ChapterTransition.kt$eu.kanade.presentation.reader.ChapterTransition.kt - TooManyFunctions:ContextExtensions.kt$eu.kanade.tachiyomi.util.system.ContextExtensions.kt - TooManyFunctions:ExternalIntents.kt$ExternalIntents - TooManyFunctions:Jellyfin.kt$Jellyfin : BaseTrackerEnhancedAnimeTrackerAnimeTracker - TooManyFunctions:Kavita.kt$Kavita : BaseTrackerEnhancedMangaTrackerMangaTracker - TooManyFunctions:Kitsu.kt$Kitsu : BaseTrackerAnimeTrackerMangaTrackerDeletableMangaTrackerDeletableAnimeTracker - TooManyFunctions:KitsuApi.kt$KitsuApi - TooManyFunctions:Komga.kt$Komga : BaseTrackerEnhancedMangaTrackerMangaTracker - TooManyFunctions:MangaCoverFetcher.kt$MangaCoverFetcher : Fetcher - TooManyFunctions:MangaDownloadCache.kt$MangaDownloadCache - TooManyFunctions:MangaDownloadManager.kt$MangaDownloadManager - TooManyFunctions:MangaDownloadProvider.kt$MangaDownloadProvider - TooManyFunctions:MangaDownloadQueueScreenModel.kt$MangaDownloadQueueScreenModel : ScreenModel - TooManyFunctions:MangaDownloader.kt$MangaDownloader - TooManyFunctions:MangaExtensionLoader.kt$MangaExtensionLoader - TooManyFunctions:MangaExtensionManager.kt$MangaExtensionManager - TooManyFunctions:MangaExtensionsScreenModel.kt$MangaExtensionsScreenModel : StateScreenModel - TooManyFunctions:MangaLibraryScreenModel.kt$MangaLibraryScreenModel : StateScreenModel - TooManyFunctions:MangaRestorer.kt$MangaRestorer - TooManyFunctions:MangaScreenModel.kt$MangaScreenModel : StateScreenModel - TooManyFunctions:MangaTracker.kt$MangaTracker - TooManyFunctions:MangaUpdates.kt$MangaUpdates : BaseTrackerMangaTrackerDeletableMangaTracker - TooManyFunctions:MangaUpdatesScreenModel.kt$MangaUpdatesScreenModel : StateScreenModel - TooManyFunctions:MyAnimeList.kt$MyAnimeList : BaseTrackerMangaTrackerAnimeTrackerDeletableMangaTrackerDeletableAnimeTracker - TooManyFunctions:MyAnimeListApi.kt$MyAnimeListApi - TooManyFunctions:NotificationReceiver.kt$NotificationReceiver : BroadcastReceiver - TooManyFunctions:NotificationReceiver.kt$NotificationReceiver$Companion - TooManyFunctions:PagerPageHolder.kt$PagerPageHolder : ReaderPageImageViewPositionableView - TooManyFunctions:PagerViewer.kt$PagerViewer : Viewer - TooManyFunctions:PlayerActivity.kt$PlayerActivity : BaseActivity - TooManyFunctions:PlayerControlsView.kt$PlayerControlsView : LinearLayout - TooManyFunctions:PlayerPreferences.kt$PlayerPreferences - TooManyFunctions:PlayerViewModel.kt$PlayerViewModel : ViewModel - TooManyFunctions:ReaderActivity.kt$ReaderActivity : BaseActivity - TooManyFunctions:ReaderPageImageView.kt$ReaderPageImageView : FrameLayout - TooManyFunctions:ReaderPreferences.kt$ReaderPreferences - TooManyFunctions:ReaderViewModel.kt$ReaderViewModel : ViewModel - TooManyFunctions:SharedPreferencesDataStore.kt$SharedPreferencesDataStore : PreferenceDataStore - TooManyFunctions:Shikimori.kt$Shikimori : BaseTrackerMangaTrackerAnimeTrackerDeletableMangaTrackerDeletableAnimeTracker - TooManyFunctions:ShikimoriApi.kt$ShikimoriApi - TooManyFunctions:Simkl.kt$Simkl : BaseTrackerAnimeTracker - TooManyFunctions:SimklApi.kt$SimklApi - TooManyFunctions:SourcePreferences.kt$SourcePreferences - TooManyFunctions:SubtitleColorPage.kt$eu.kanade.tachiyomi.ui.player.settings.sheets.subtitle.SubtitleColorPage.kt - TooManyFunctions:Suwayomi.kt$Suwayomi : BaseTrackerEnhancedMangaTrackerMangaTracker - TooManyFunctions:WebtoonPageHolder.kt$WebtoonPageHolder : WebtoonBaseHolder - TooManyFunctions:WebtoonRecyclerView.kt$WebtoonRecyclerView : RecyclerView - TooManyFunctions:WebtoonViewer.kt$WebtoonViewer : Viewer - TopLevelPropertyNaming:AnimeDownloader.kt$// Arbitrary minimum required space to start a download: 200 MB private const val MIN_DISK_SPACE = 200L * 1024 * 1024 - TopLevelPropertyNaming:AnimeExtensionInstallActivity.kt$private const val INSTALL_REQUEST_CODE = 500 - TopLevelPropertyNaming:AnimeLibraryUpdateNotifier.kt$private const val ANIME_PER_SOURCE_QUEUE_WARNING_THRESHOLD = 60 - TopLevelPropertyNaming:AnimeLibraryUpdateNotifier.kt$private const val NOTIF_ICON_SIZE = 192 - TopLevelPropertyNaming:AnimeLibraryUpdateNotifier.kt$private const val NOTIF_MAX_EPISODES = 5 - TopLevelPropertyNaming:AnimeLibraryUpdateNotifier.kt$private const val NOTIF_TITLE_MAX_LEN = 45 - 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: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: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:CreateAniyomiExtensionRepo.kt$const val OFFICIAL_ANIYOMI_REPO_BASE_URL = "https://raw.githubusercontent.com/aniyomiorg/aniyomi-extensions/repo" - 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:ExternalIntents.kt$// List of supported external players and their packages const val MPV_PLAYER = "is.xyz.mpv" - TopLevelPropertyNaming:GLUtil.kt$// Safe minimum default size private const val IMAGE_MAX_BITMAP_DIMENSION = 2048 - TopLevelPropertyNaming:GestureHandler.kt$private const val STATE_HORIZONTAL = 1 - TopLevelPropertyNaming:GestureHandler.kt$private const val STATE_UP = 0 - TopLevelPropertyNaming:GestureHandler.kt$private const val STATE_VERTICAL_LEFT = 2 - TopLevelPropertyNaming:GestureHandler.kt$private const val STATE_VERTICAL_RIGHT = 3 - TopLevelPropertyNaming:GuidesStep.kt$const val GETTING_STARTED_URL = "https://aniyomi.org/docs/guides/getting-started" - TopLevelPropertyNaming:HistoriesTab.kt$private const val TAB_ANIME = 0 - TopLevelPropertyNaming:HistoriesTab.kt$private const val TAB_MANGA = 1 - TopLevelPropertyNaming:KomgaApi.kt$private const val READLIST_API = "/api/v1/readlists" - TopLevelPropertyNaming:LocaleHelper.kt$internal const val LAST_USED_KEY = "last_used" - TopLevelPropertyNaming:LocaleHelper.kt$internal const val PINNED_KEY = "pinned" - 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:MangaDownloader.kt$// Arbitrary minimum required space to start a download: 200 MB private const val MIN_DISK_SPACE = 200L * 1024 * 1024 - TopLevelPropertyNaming:MangaExtensionInstallActivity.kt$private const val INSTALL_REQUEST_CODE = 500 - TopLevelPropertyNaming:MangaLibraryUpdateNotifier.kt$private const val MANGA_PER_SOURCE_QUEUE_WARNING_THRESHOLD = 60 - TopLevelPropertyNaming:MangaLibraryUpdateNotifier.kt$private const val NOTIF_ICON_SIZE = 192 - TopLevelPropertyNaming:MangaLibraryUpdateNotifier.kt$private const val NOTIF_MAX_CHAPTERS = 5 - TopLevelPropertyNaming:MangaLibraryUpdateNotifier.kt$private const val NOTIF_TITLE_MAX_LEN = 45 - TopLevelPropertyNaming:PackageInstallerInstallerAnime.kt$private const val INSTALL_ACTION = "PackageInstallerInstaller.INSTALL_ACTION" - TopLevelPropertyNaming:PackageInstallerInstallerManga.kt$private const val INSTALL_ACTION = "PackageInstallerInstaller.INSTALL_ACTION" - TopLevelPropertyNaming:PictureInPictureHandler.kt$internal const val ACTION_MEDIA_CONTROL = "media_control" - TopLevelPropertyNaming:PictureInPictureHandler.kt$internal const val EXTRA_CONTROL_TYPE = "control_type" - TopLevelPropertyNaming:PictureInPictureHandler.kt$internal const val PIP_NEXT = 4 - TopLevelPropertyNaming:PictureInPictureHandler.kt$internal const val PIP_PAUSE = 2 - TopLevelPropertyNaming:PictureInPictureHandler.kt$internal const val PIP_PLAY = 1 - TopLevelPropertyNaming:PictureInPictureHandler.kt$internal const val PIP_PREVIOUS = 3 - TopLevelPropertyNaming:PictureInPictureHandler.kt$internal const val PIP_SKIP = 5 - TopLevelPropertyNaming:ReaderNavigationOverlayView.kt$private const val FADE_DURATION = 1000L - TopLevelPropertyNaming:ReaderPageImageView.kt$private const val MAX_ZOOM_SCALE = 5F - TopLevelPropertyNaming:ShizukuInstallerAnime.kt$private const val SHIZUKU_PERMISSION_REQUEST_CODE = 14045 - TopLevelPropertyNaming:ShizukuInstallerManga.kt$private const val SHIZUKU_PERMISSION_REQUEST_CODE = 14045 - 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:TrustAnimeExtension.kt$// jmir1's key private const val officialSignature = "50ab1d1e3a20d204d0ad6d334c7691c632e41b98dfa132bf385695fdfa63839c" - TopLevelPropertyNaming:TrustMangaExtension.kt$// inorichi's key private const val officialSignature = "7ce04da7773d41b489f4693a366c36bcd0a11fc39b547168553c285bd7348e23" - TopLevelPropertyNaming:UpdatesTab.kt$private const val TAB_ANIME = 0 - TopLevelPropertyNaming:UpdatesTab.kt$private const val TAB_MANGA = 1 - 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 - UnusedParameter:AnimeUpdatesScreen.kt$onInvertSelection: () -> Unit - UnusedParameter:MangaUpdatesScreen.kt$onInvertSelection: () -> Unit - UnusedParameter:MoreScreen.kt$onClickStorage: () -> Unit - UnusedPrivateMember:AnimeHistoryItem.kt$@PreviewLightDark @Composable private fun HistoryItemPreviews( @PreviewParameter(AnimeHistoryWithRelationsProvider::class) historyWithRelations: AnimeHistoryWithRelations, ) - UnusedPrivateMember:AnimeTrackInfoDialogHome.kt$@PreviewLightDark @Composable private fun TrackInfoDialogHomePreviews( @PreviewParameter(AnimeTrackInfoDialogHomePreviewProvider::class) content: @Composable () -> Unit, ) - UnusedPrivateMember:AnimeTrackerSearch.kt$@PreviewLightDark @Composable private fun TrackerSearchPreviews( @PreviewParameter(AnimeTrackerSearchPreviewProvider::class) content: @Composable () -> Unit, ) - 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:GuidesStep.kt$@PreviewLightDark @Composable private fun GuidesStepPreview() - UnusedPrivateMember:HistoryDialogs.kt$@PreviewLightDark @Composable private fun HistoryDeleteDialogPreview() - UnusedPrivateMember:InfoWidget.kt$@PreviewLightDark @Composable private fun InfoWidgetPreview() - UnusedPrivateMember:LibraryBadges.kt$@PreviewLightDark @Composable private fun BadgePreview() - UnusedPrivateMember:MangaTrackInfoDialogHome.kt$@PreviewLightDark @Composable private fun TrackInfoDialogHomePreviews( @PreviewParameter(MangaTrackInfoDialogHomePreviewProvider::class) content: @Composable () -> Unit, ) - UnusedPrivateMember:MangaTrackerSearch.kt$@PreviewLightDark @Composable private fun TrackerSearchPreviews( @PreviewParameter(MangaTrackerSearchPreviewProvider::class) content: @Composable () -> Unit, ) - UnusedPrivateMember:MissingItemCountListItem.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:SwitchPreferenceWidget.kt$@PreviewLightDark @Composable private fun SwitchPreferenceWidgetPreview() - UnusedPrivateMember:TextPreferenceWidget.kt$@PreviewLightDark @Composable private fun TextPreferenceWidgetPreview() - UnusedPrivateMember:TrackInfoDialogSelector.kt$@PreviewLightDark @Composable private fun TrackStatusSelectorPreviews() - UnusedPrivateMember:TrackLogoIcon.kt$@PreviewLightDark @Composable private fun TrackLogoIconPreviews( @PreviewParameter(TrackLogoIconPreviewProvider::class) tracker: Tracker, ) - UnusedPrivateProperty:AnimeExtensionLoader.kt$AnimeExtensionLoader$private const val METADATA_HAS_CHANGELOG = "tachiyomi.animeextension.hasChangelog" - UnusedPrivateProperty:AnimeExtensionLoader.kt$AnimeExtensionLoader$private const val METADATA_HAS_README = "tachiyomi.animeextension.hasReadme" - UnusedPrivateProperty:AnimeLibraryUpdateJob.kt$AnimeLibraryUpdateJob.Companion$private const val ANIME_PER_SOURCE_QUEUE_WARNING_THRESHOLD = 60 - UnusedPrivateProperty:AnimeMetadataUpdateJob.kt$AnimeMetadataUpdateJob.Companion$private const val MANGA_PER_SOURCE_QUEUE_WARNING_THRESHOLD = 60 - UnusedPrivateProperty:AnimeSourcesScreenModel.kt$AnimeSourcesScreenModel$private val preferences: BasePreferences = Injekt.get() - UnusedPrivateProperty:AnimeSourcesScreenModel.kt$AnimeSourcesScreenModel$private val sourcePreferences: SourcePreferences = Injekt.get() - UnusedPrivateProperty:HistoriesTab.kt$private const val TAB_ANIME = 0 - UnusedPrivateProperty:HistoriesTab.kt$private const val TAB_MANGA = 1 - UnusedPrivateProperty:MangaLibraryUpdateJob.kt$MangaLibraryUpdateJob.Companion$private const val MANGA_PER_SOURCE_QUEUE_WARNING_THRESHOLD = 60 - UnusedPrivateProperty:MangaMetadataUpdateJob.kt$MangaMetadataUpdateJob.Companion$private const val MANGA_PER_SOURCE_QUEUE_WARNING_THRESHOLD = 60 - UnusedPrivateProperty:MangaSourcesScreenModel.kt$MangaSourcesScreenModel$private val preferences: BasePreferences = Injekt.get() - UnusedPrivateProperty:TrackerManager.kt$TrackerManager$context: Context - UnusedPrivateProperty:UpdatesTab.kt$private const val TAB_ANIME = 0 - UnusedPrivateProperty:UpdatesTab.kt$private const val TAB_MANGA = 1 - UseCheckOrError:AnimeScreenModel.kt$AnimeScreenModel$throw IllegalStateException() - UseCheckOrError:MangaScreenModel.kt$MangaScreenModel$throw IllegalStateException() - UseCheckOrError:PackageInstallerInstallerAnime.kt$PackageInstallerInstallerAnime$throw IllegalStateException() - UseCheckOrError:PackageInstallerInstallerManga.kt$PackageInstallerInstallerManga$throw IllegalStateException() - UseCheckOrError:ReadingMode.kt$ReadingMode.Companion$throw IllegalStateException( "Preference value must be resolved: $preference", ) - UseCheckOrError:ShizukuInstallerAnime.kt$ShizukuInstallerAnime$throw IllegalStateException() - UseCheckOrError:ShizukuInstallerManga.kt$ShizukuInstallerManga$throw IllegalStateException() - UseCheckOrError:SourceFilterAnimeDialog.kt$throw IllegalStateException("Unknown TriState state: $this") - UseCheckOrError:SourceFilterMangaDialog.kt$throw IllegalStateException("Unknown TriState state: $this") - UtilityClassWithPublicConstructor:EpisodeLoader.kt$EpisodeLoader - VariableNaming:AnimeTrack.kt$AnimeTrack$var anime_id: Long - VariableNaming:AnimeTrack.kt$AnimeTrack$var finished_watching_date: Long - VariableNaming:AnimeTrack.kt$AnimeTrack$var last_episode_seen: Double - VariableNaming:AnimeTrack.kt$AnimeTrack$var library_id: Long? - VariableNaming:AnimeTrack.kt$AnimeTrack$var remote_id: Long - VariableNaming:AnimeTrack.kt$AnimeTrack$var started_watching_date: Long - VariableNaming:AnimeTrack.kt$AnimeTrack$var total_episodes: Long - VariableNaming:AnimeTrack.kt$AnimeTrack$var tracker_id: Long - VariableNaming:AnimeTrack.kt$AnimeTrack$var tracking_url: String - VariableNaming:AnimeTrackSearch.kt$AnimeTrackSearch$var cover_url: String = "" - VariableNaming:AnimeTrackSearch.kt$AnimeTrackSearch$var publishing_status: String = "" - VariableNaming:AnimeTrackSearch.kt$AnimeTrackSearch$var publishing_type: String = "" - VariableNaming:AnimeTrackSearch.kt$AnimeTrackSearch$var start_date: String = "" - 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:Episode.kt$Episode$var anime_id: Long? - VariableNaming:Episode.kt$Episode$var date_fetch: Long - VariableNaming:Episode.kt$Episode$var last_modified: Long - VariableNaming:Episode.kt$Episode$var last_second_seen: Long - VariableNaming:Episode.kt$Episode$var source_order: Int - VariableNaming:Episode.kt$Episode$var total_seconds: Long - VariableNaming:MangaTrack.kt$MangaTrack$var finished_reading_date: Long - VariableNaming:MangaTrack.kt$MangaTrack$var last_chapter_read: Double - VariableNaming:MangaTrack.kt$MangaTrack$var library_id: Long? - VariableNaming:MangaTrack.kt$MangaTrack$var manga_id: Long - VariableNaming:MangaTrack.kt$MangaTrack$var remote_id: Long - VariableNaming:MangaTrack.kt$MangaTrack$var started_reading_date: Long - VariableNaming:MangaTrack.kt$MangaTrack$var total_chapters: Long - VariableNaming:MangaTrack.kt$MangaTrack$var tracker_id: Long - VariableNaming:MangaTrack.kt$MangaTrack$var tracking_url: String - VariableNaming:MangaTrackSearch.kt$MangaTrackSearch$var cover_url: String = "" - VariableNaming:MangaTrackSearch.kt$MangaTrackSearch$var publishing_status: String = "" - VariableNaming:MangaTrackSearch.kt$MangaTrackSearch$var publishing_type: String = "" - VariableNaming:MangaTrackSearch.kt$MangaTrackSearch$var start_date: String = "" - ConstructorParameterNaming:ChapterDetails.kt$ChapterDetails$val chapter_number: Float - ConstructorParameterNaming:ChapterDetails.kt$ChapterDetails$val date_upload: String? = null - ConstructorParameterNaming:EpisodeDetails.kt$EpisodeDetails$val date_upload: String? = null - ConstructorParameterNaming:EpisodeDetails.kt$EpisodeDetails$val episode_number: Float - TopLevelPropertyNaming:ComicInfo.kt$const val COMIC_INFO_FILE = "ComicInfo.xml" - LongParameterList:AnimeHistoryMapper.kt$AnimeHistoryMapper$( historyId: Long, animeId: Long, episodeId: Long, title: String, thumbnailUrl: String?, sourceId: Long, isFavorite: Boolean, coverLastModified: Long, episodeNumber: Double, seenAt: Date?, ) - LongParameterList:AnimeMapper.kt$AnimeMapper$( id: Long, source: Long, url: String, artist: String?, author: String?, description: String?, genre: List<String>?, title: String, status: Long, thumbnailUrl: String?, favorite: Boolean, lastUpdate: Long?, nextUpdate: Long?, initialized: Boolean, viewerFlags: Long, chapterFlags: Long, coverLastModified: Long, dateAdded: Long, updateStrategy: AnimeUpdateStrategy, calculateInterval: Long, lastModifiedAt: Long, favoriteModifiedAt: Long?, ) - LongParameterList:AnimeMapper.kt$AnimeMapper$( id: Long, source: Long, url: String, artist: String?, author: String?, description: String?, genre: List<String>?, title: String, status: Long, thumbnailUrl: String?, favorite: Boolean, lastUpdate: Long?, nextUpdate: Long?, initialized: Boolean, viewerFlags: Long, chapterFlags: Long, coverLastModified: Long, dateAdded: Long, updateStrategy: AnimeUpdateStrategy, calculateInterval: Long, lastModifiedAt: Long, favoriteModifiedAt: Long?, totalCount: Long, seenCount: Double, latestUpload: Long, episodeFetchedAt: Long, lastSeen: Long, bookmarkCount: Double, category: Long, ) - LongParameterList:AnimeTrackMapper.kt$AnimeTrackMapper$( id: Long, animeId: Long, syncId: Long, remoteId: Long, libraryId: Long?, title: String, lastEpisodeSeen: Double, totalEpisodes: Long, status: Long, score: Double, remoteUrl: String, startDate: Long, finishDate: Long, ) - LongParameterList:AnimeUpdatesRepositoryImpl.kt$AnimeUpdatesRepositoryImpl$( animeId: Long, animeTitle: String, episodeId: Long, episodeName: String, scanlator: String?, seen: Boolean, bookmark: Boolean, lastSecondSeen: Long, totalSeconds: Long, sourceId: Long, favorite: Boolean, thumbnailUrl: String?, coverLastModified: Long, dateUpload: Long, dateFetch: Long, ) - LongParameterList:ChapterRepositoryImpl.kt$ChapterRepositoryImpl$( 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, ) - LongParameterList:EpisodeRepositoryImpl.kt$EpisodeRepositoryImpl$( id: Long, animeId: Long, url: String, name: String, scanlator: String?, seen: Boolean, bookmark: Boolean, lastSecondSeen: Long, totalSeconds: Long, episodeNumber: Double, sourceOrder: Long, dateFetch: Long, dateUpload: Long, lastModifiedAt: Long, ) - LongParameterList:MangaHistoryMapper.kt$MangaHistoryMapper$( historyId: Long, mangaId: Long, chapterId: Long, title: String, thumbnailUrl: String?, sourceId: Long, isFavorite: Boolean, coverLastModified: Long, chapterNumber: Double, readAt: Date?, readDuration: Long, ) - LongParameterList:MangaMapper.kt$MangaMapper$( id: Long, source: Long, url: String, artist: String?, author: String?, description: String?, genre: List<String>?, title: String, status: Long, thumbnailUrl: String?, favorite: Boolean, lastUpdate: Long?, nextUpdate: Long?, initialized: Boolean, viewerFlags: Long, chapterFlags: Long, coverLastModified: Long, dateAdded: Long, updateStrategy: UpdateStrategy, calculateInterval: Long, lastModifiedAt: Long, favoriteModifiedAt: Long?, ) - LongParameterList:MangaMapper.kt$MangaMapper$( id: Long, source: Long, url: String, artist: String?, author: String?, description: String?, genre: List<String>?, title: String, status: Long, thumbnailUrl: String?, favorite: Boolean, lastUpdate: Long?, nextUpdate: Long?, initialized: Boolean, viewerFlags: Long, chapterFlags: Long, coverLastModified: Long, dateAdded: Long, updateStrategy: UpdateStrategy, calculateInterval: Long, lastModifiedAt: Long, favoriteModifiedAt: Long?, totalCount: Long, readCount: Double, latestUpload: Long, chapterFetchedAt: Long, lastRead: Long, bookmarkCount: Double, category: Long, ) - LongParameterList:MangaTrackMapper.kt$MangaTrackMapper$( 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:MangaUpdatesRepositoryImpl.kt$MangaUpdatesRepositoryImpl$( 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, ) - ReturnCount:AndroidAnimeDatabaseHandler.kt$AndroidAnimeDatabaseHandler$private suspend fun <T> dispatch(inTransaction: Boolean, block: suspend AnimeDatabase.() -> T): T - ReturnCount:AndroidMangaDatabaseHandler.kt$AndroidMangaDatabaseHandler$private suspend fun <T> dispatch(inTransaction: Boolean, block: suspend Database.() -> T): T - SpreadOperator:AnimeRepositoryImpl.kt$AnimeRepositoryImpl$(*animeUpdates.toTypedArray()) - SpreadOperator:AnimeTrackRepositoryImpl.kt$AnimeTrackRepositoryImpl$(*tracks.toTypedArray()) - SpreadOperator:ChapterRepositoryImpl.kt$ChapterRepositoryImpl$(*chapterUpdates.toTypedArray()) - SpreadOperator:ChapterSanitizer.kt$ChapterSanitizer$(*CHAPTER_TRIM_CHARS) - SpreadOperator:EpisodeRepositoryImpl.kt$EpisodeRepositoryImpl$(*episodeUpdates.toTypedArray()) - SpreadOperator:EpisodeSanitizer.kt$EpisodeSanitizer$(*EPISODE_TRIM_CHARS) - SpreadOperator:MangaRepositoryImpl.kt$MangaRepositoryImpl$(*mangaUpdates.toTypedArray()) - SpreadOperator:MangaTrackRepositoryImpl.kt$MangaTrackRepositoryImpl$(*tracks.toTypedArray()) - TooGenericExceptionCaught:AnimeHistoryRepositoryImpl.kt$AnimeHistoryRepositoryImpl$e: Exception - TooGenericExceptionCaught:AnimeRepositoryImpl.kt$AnimeRepositoryImpl$e: Exception - TooGenericExceptionCaught:AnimeSourcePagingSource.kt$AnimeSourcePagingSource$e: Exception - TooGenericExceptionCaught:ChapterRepositoryImpl.kt$ChapterRepositoryImpl$e: Exception - TooGenericExceptionCaught:EpisodeRepositoryImpl.kt$EpisodeRepositoryImpl$e: Exception - TooGenericExceptionCaught:MangaHistoryRepositoryImpl.kt$MangaHistoryRepositoryImpl$e: Exception - TooGenericExceptionCaught:MangaRepositoryImpl.kt$MangaRepositoryImpl$e: Exception - TooGenericExceptionCaught:MangaSourcePagingSource.kt$SourcePagingSource$e: Exception - TooGenericExceptionCaught:QueryPagingAnimeSource.kt$QueryPagingAnimeSource$e: Exception - TooGenericExceptionCaught:QueryPagingMangaSource.kt$QueryPagingMangaSource$e: Exception - TooManyFunctions:AndroidAnimeDatabaseHandler.kt$AndroidAnimeDatabaseHandler : AnimeDatabaseHandler - TooManyFunctions:AndroidMangaDatabaseHandler.kt$AndroidMangaDatabaseHandler : MangaDatabaseHandler - TooManyFunctions:AnimeCategoryRepositoryImpl.kt$AnimeCategoryRepositoryImpl : AnimeCategoryRepository - TooManyFunctions:AnimeRepositoryImpl.kt$AnimeRepositoryImpl : AnimeRepository - TooManyFunctions:ChapterRepositoryImpl.kt$ChapterRepositoryImpl : ChapterRepository - TooManyFunctions:EpisodeRepositoryImpl.kt$EpisodeRepositoryImpl : EpisodeRepository - TooManyFunctions:MangaCategoryRepositoryImpl.kt$MangaCategoryRepositoryImpl : MangaCategoryRepository - TooManyFunctions:MangaRepositoryImpl.kt$MangaRepositoryImpl : MangaRepository - TopLevelPropertyNaming:DatabaseAdapter.kt$private const val LIST_OF_STRINGS_SEPARATOR = ", " - UnusedParameter:AnimeUpdatesRepositoryImpl.kt$AnimeUpdatesRepositoryImpl$dateUpload: Long - UnusedParameter:MangaUpdatesRepositoryImpl.kt$MangaUpdatesRepositoryImpl$dateUpload: Long - UseCheckOrError:AnimeTransactionContext.kt$AnimeTransactionElement$throw IllegalStateException("Transaction was never started or was already released") - UseCheckOrError:MangaTransactionContext.kt$TransactionElement$throw IllegalStateException("Transaction was never started or was already released") - CyclomaticComplexMethod:AnimeLibrarySortMode.kt$AnimeLibrarySort.Companion$fun deserialize(serialized: String): AnimeLibrarySort - FunctionNaming:Pin.kt$fun Pins(vararg pins: Pin) - LongParameterList:SetAnimeEpisodeFlags.kt$SetAnimeEpisodeFlags$( animeId: Long, unseenFilter: Long, downloadedFilter: Long, bookmarkedFilter: Long, sortingMode: Long, sortingDirection: Long, displayMode: Long, ) - LongParameterList:SetMangaChapterFlags.kt$SetMangaChapterFlags$( mangaId: Long, unreadFilter: Long, downloadedFilter: Long, bookmarkedFilter: Long, sortingMode: Long, sortingDirection: Long, displayMode: Long, ) - MagicNumber:Anime.kt$Anime$16.0 - MagicNumber:AnimeFetchInterval.kt$AnimeFetchInterval$10 - MagicNumber:AnimeFetchInterval.kt$AnimeFetchInterval$1000 - MagicNumber:AnimeFetchInterval.kt$AnimeFetchInterval$3 - MagicNumber:AnimeFetchInterval.kt$AnimeFetchInterval$7 - MagicNumber:AnimeFetchInterval.kt$AnimeFetchInterval$8 - MagicNumber:AnimeLibrarySortMode.kt$AnimeLibrarySort.Direction.Ascending$0b01000000 - MagicNumber:AnimeLibrarySortMode.kt$AnimeLibrarySort.Type.AiringTime$0b00110000 - MagicNumber:AnimeLibrarySortMode.kt$AnimeLibrarySort.Type.DateAdded$0b00011100 - MagicNumber:AnimeLibrarySortMode.kt$AnimeLibrarySort.Type.EpisodeFetchDate$0b00011000 - MagicNumber:AnimeLibrarySortMode.kt$AnimeLibrarySort.Type.LastSeen$0b00000100 - MagicNumber:AnimeLibrarySortMode.kt$AnimeLibrarySort.Type.LastUpdate$0b00001000 - MagicNumber:AnimeLibrarySortMode.kt$AnimeLibrarySort.Type.LatestEpisode$0b00010100 - MagicNumber:AnimeLibrarySortMode.kt$AnimeLibrarySort.Type.TotalEpisodes$0b00010000 - MagicNumber:AnimeLibrarySortMode.kt$AnimeLibrarySort.Type.TrackerMean$0b000100000 - MagicNumber:AnimeLibrarySortMode.kt$AnimeLibrarySort.Type.UnseenCount$0b00001100 - MagicNumber:BackupPreferences.kt$BackupPreferences$12 - MagicNumber:ChapterRecognition.kt$ChapterRecognition$10 - MagicNumber:ChapterRecognition.kt$ChapterRecognition$10.0 - MagicNumber:ChapterRecognition.kt$ChapterRecognition$2.0 - MagicNumber:ChapterRecognition.kt$ChapterRecognition$3 - MagicNumber:EpisodeRecognition.kt$EpisodeRecognition$10 - MagicNumber:EpisodeRecognition.kt$EpisodeRecognition$10.0 - MagicNumber:EpisodeRecognition.kt$EpisodeRecognition$2.0 - MagicNumber:EpisodeRecognition.kt$EpisodeRecognition$3 - MagicNumber:GetApplicationRelease.kt$GetApplicationRelease$3 - MagicNumber:MangaFetchInterval.kt$MangaFetchInterval$10 - MagicNumber:MangaFetchInterval.kt$MangaFetchInterval$1000 - MagicNumber:MangaFetchInterval.kt$MangaFetchInterval$3 - MagicNumber:MangaFetchInterval.kt$MangaFetchInterval$7 - MagicNumber:MangaFetchInterval.kt$MangaFetchInterval$8 - MagicNumber:MangaLibrarySortMode.kt$MangaLibrarySort.Direction.Ascending$0b01000000 - MagicNumber:MangaLibrarySortMode.kt$MangaLibrarySort.Type.ChapterFetchDate$0b00011000 - MagicNumber:MangaLibrarySortMode.kt$MangaLibrarySort.Type.DateAdded$0b00011100 - MagicNumber:MangaLibrarySortMode.kt$MangaLibrarySort.Type.LastRead$0b00000100 - MagicNumber:MangaLibrarySortMode.kt$MangaLibrarySort.Type.LastUpdate$0b00001000 - MagicNumber:MangaLibrarySortMode.kt$MangaLibrarySort.Type.LatestChapter$0b00010100 - MagicNumber:MangaLibrarySortMode.kt$MangaLibrarySort.Type.TotalChapters$0b00010000 - MagicNumber:MangaLibrarySortMode.kt$MangaLibrarySort.Type.TrackerMean$0b000100000 - MagicNumber:MangaLibrarySortMode.kt$MangaLibrarySort.Type.UnreadCount$0b00001100 - MatchingDeclarationName:AnimeLibrarySortMode.kt$AnimeLibrarySort : FlagWithMask - MatchingDeclarationName:MangaLibrarySortMode.kt$MangaLibrarySort : FlagWithMask - 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:EpisodeRecognition.kt$EpisodeRecognition$fun parseEpisodeNumber(animeTitle: String, episodeName: String, episodeNumber: Double? = null): Double - ReturnCount:EpisodeRecognition.kt$EpisodeRecognition$private fun checkForDecimal(decimal: String?, alpha: String?): Double - ReturnCount:MissingChapters.kt$fun List<Double>.missingChaptersCount(): Int - ReturnCount:MissingChapters.kt$fun calculateChapterGap(higherChapter: Chapter?, lowerChapter: Chapter?): Int - ReturnCount:MissingEpisodes.kt$fun List<Double>.missingEpisodesCount(): Int - ReturnCount:MissingEpisodes.kt$fun calculateEpisodeGap(higherEpisode: Episode?, lowerEpisode: Episode?): Int - SerialVersionUIDInSerializableClass:Anime.kt$Anime : Serializable - SerialVersionUIDInSerializableClass:Category.kt$Category : Serializable - SerialVersionUIDInSerializableClass:Manga.kt$Manga : Serializable - SwallowedException:AnimeLibrarySortMode.kt$AnimeLibrarySort.Companion$e: Exception - SwallowedException:GetChapterByUrlAndMangaId.kt$GetChapterByUrlAndMangaId$e: Exception - SwallowedException:GetEpisodeByUrlAndAnimeId.kt$GetEpisodeByUrlAndAnimeId$e: Exception - SwallowedException:MangaLibrarySortMode.kt$MangaLibrarySort.Companion$e: Exception - TooGenericExceptionCaught:AnimeLibrarySortMode.kt$AnimeLibrarySort.Companion$e: Exception - TooGenericExceptionCaught:CreateAnimeCategoryWithName.kt$CreateAnimeCategoryWithName$e: Exception - TooGenericExceptionCaught:CreateMangaCategoryWithName.kt$CreateMangaCategoryWithName$e: Exception - TooGenericExceptionCaught:DeleteAnimeCategory.kt$DeleteAnimeCategory$e: Exception - TooGenericExceptionCaught:DeleteAnimeTrack.kt$DeleteAnimeTrack$e: Exception - TooGenericExceptionCaught:DeleteMangaCategory.kt$DeleteMangaCategory$e: Exception - TooGenericExceptionCaught:DeleteMangaTrack.kt$DeleteMangaTrack$e: Exception - TooGenericExceptionCaught:GetAnime.kt$GetAnime$e: Exception - TooGenericExceptionCaught:GetAnimeTracks.kt$GetAnimeTracks$e: Exception - TooGenericExceptionCaught:GetChapter.kt$GetChapter$e: Exception - TooGenericExceptionCaught:GetChapterByUrlAndMangaId.kt$GetChapterByUrlAndMangaId$e: Exception - TooGenericExceptionCaught:GetChaptersByMangaId.kt$GetChaptersByMangaId$e: Exception - TooGenericExceptionCaught:GetEpisode.kt$GetEpisode$e: Exception - TooGenericExceptionCaught:GetEpisodeByUrlAndAnimeId.kt$GetEpisodeByUrlAndAnimeId$e: Exception - TooGenericExceptionCaught:GetEpisodesByAnimeId.kt$GetEpisodesByAnimeId$e: Exception - TooGenericExceptionCaught:GetManga.kt$GetManga$e: Exception - TooGenericExceptionCaught:GetMangaTracks.kt$GetMangaTracks$e: Exception - TooGenericExceptionCaught:HideAnimeCategory.kt$HideAnimeCategory$e: Exception - TooGenericExceptionCaught:HideMangaCategory.kt$HideMangaCategory$e: Exception - TooGenericExceptionCaught:InsertAnimeTrack.kt$InsertAnimeTrack$e: Exception - TooGenericExceptionCaught:InsertMangaTrack.kt$InsertMangaTrack$e: Exception - TooGenericExceptionCaught:MangaLibrarySortMode.kt$MangaLibrarySort.Companion$e: Exception - TooGenericExceptionCaught:RenameAnimeCategory.kt$RenameAnimeCategory$e: Exception - TooGenericExceptionCaught:RenameMangaCategory.kt$RenameMangaCategory$e: Exception - TooGenericExceptionCaught:ReorderAnimeCategory.kt$ReorderAnimeCategory$e: Exception - TooGenericExceptionCaught:ReorderMangaCategory.kt$ReorderMangaCategory$e: Exception - TooGenericExceptionCaught:SetAnimeCategories.kt$SetAnimeCategories$e: Exception - TooGenericExceptionCaught:SetMangaCategories.kt$SetMangaCategories$e: Exception - TooGenericExceptionCaught:UpdateAnimeCategory.kt$UpdateAnimeCategory$e: Exception - TooGenericExceptionCaught:UpdateChapter.kt$UpdateChapter$e: Exception - TooGenericExceptionCaught:UpdateEpisode.kt$UpdateEpisode$e: Exception - TooGenericExceptionCaught:UpdateMangaCategory.kt$UpdateMangaCategory$e: Exception - TooManyFunctions:AnimeCategoryRepository.kt$AnimeCategoryRepository - TooManyFunctions:AnimeRepository.kt$AnimeRepository - TooManyFunctions:ChapterRepository.kt$ChapterRepository - TooManyFunctions:DownloadPreferences.kt$DownloadPreferences - TooManyFunctions:LibraryPreferences.kt$LibraryPreferences - TooManyFunctions:MangaCategoryRepository.kt$MangaCategoryRepository - TooManyFunctions:MangaRepository.kt$MangaRepository - TopLevelPropertyNaming:PreferenceValues.kt$const val FLAG_CATEGORIES = "1" - TopLevelPropertyNaming:PreferenceValues.kt$const val FLAG_CHAPTERS = "2" - TopLevelPropertyNaming:PreferenceValues.kt$const val FLAG_EXTENSIONS = "40" - TopLevelPropertyNaming:PreferenceValues.kt$const val FLAG_EXT_SETTINGS = "20" - TopLevelPropertyNaming:PreferenceValues.kt$const val FLAG_HISTORY = "4" - TopLevelPropertyNaming:PreferenceValues.kt$const val FLAG_SETTINGS = "10" - TopLevelPropertyNaming:PreferenceValues.kt$const val FLAG_TRACK = "8" - 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 FONTS_PATH = "fonts" - TopLevelPropertyNaming:StorageManager.kt$private const val LOCAL_ANIMESOURCE_PATH = "localanime" - TopLevelPropertyNaming:StorageManager.kt$private const val LOCAL_SOURCE_PATH = "local" - TopLevelPropertyNaming:StorageManager.kt$private const val MPV_CONFIG_PATH = "mpv-config" - TopLevelPropertyNaming:StorageManager.kt$private const val SCRIPTS_PATH = "scripts" - TopLevelPropertyNaming:StorageManager.kt$private const val SCRIPT_OPTS_PATH = "script-opts" - ForbiddenComment:BaselineProfileGenerator.kt$BaselineProfileGenerator$// TODO: automate storage permissions and possibly open manga details screen too? - ComposableParamOrder:SettingsItems.kt$RepeatingIconButton - ComposableParamOrder:SettingsItems.kt$SelectItem - ContentTrailingLambda:Scaffold.kt$content - CyclomaticComplexMethod:Button.kt$ButtonElevation$@OptIn(InternalCoroutinesApi::class) @Composable private fun animateElevation( enabled: Boolean, interactionSource: InteractionSource, ): State<Dp> - 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:VerticalFastScroller.kt$@OptIn(FlowPreview::class) @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$@OptIn(FlowPreview::class) @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, ) - ForbiddenComment:VerticalFastScroller.kt$// TODO: Sometimes item height is not available when scrolling up - FunctionNaming:PullRefresh.kt$PullToRefreshStateImpl.Companion$fun Saver( extraVerticalOffset: Float, positionalThreshold: Float, enabled: () -> Boolean, onRefresh: () -> Unit, ) - LambdaParameterInRestartableEffect:AdaptiveSheet.kt$onDismissRequest - LambdaParameterInRestartableEffect:VerticalFastScroller.kt$thumbAllowed - LongMethod:AdaptiveSheet.kt$@Composable fun AdaptiveSheet( isTabletUi: Boolean, tonalElevation: Dp, enableSwipeDismiss: Boolean, onDismissRequest: () -> Unit, modifier: Modifier = Modifier, content: @Composable () -> Unit, ) - LongMethod:Button.kt$ButtonElevation$@OptIn(InternalCoroutinesApi::class) @Composable private fun animateElevation( enabled: Boolean, interactionSource: InteractionSource, ): State<Dp> - LongMethod:InfoScreen.kt$@Composable fun InfoScreen( icon: ImageVector, headingText: String, subtitleText: String, acceptText: String, onAcceptClick: () -> Unit, canAccept: Boolean = true, rejectText: String? = null, onRejectClick: (() -> Unit)? = null, content: @Composable ColumnScope.() -> Unit, ) - LongMethod: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, ) - LongMethod:VerticalFastScroller.kt$@OptIn(FlowPreview::class) @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, ) - LongMethod:VerticalFastScroller.kt$@OptIn(FlowPreview::class) @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, ) - LongMethod:WheelPicker.kt$@Composable private fun <T> WheelPicker( items: ImmutableList<T>, modifier: Modifier = Modifier, startIndex: Int = 0, size: DpSize = DpSize(128.dp, 128.dp), onSelectionChanged: (index: Int) -> Unit = {}, manualInputType: KeyboardType? = null, backgroundContent: (@Composable (size: DpSize) -> Unit)? = { WheelPickerDefaults.Background(size = it) }, itemContent: @Composable LazyItemScope.(item: T) -> Unit, ) - LongParameterList:InfoScreen.kt$( icon: ImageVector, headingText: String, subtitleText: String, acceptText: String, onAcceptClick: () -> Unit, canAccept: Boolean = true, rejectText: String? = null, onRejectClick: (() -> Unit)? = null, content: @Composable ColumnScope.() -> Unit, ) - LongParameterList:Scaffold.kt$( fabPosition: FabPosition, topBar: @Composable () -> Unit, startBar: @Composable () -> Unit, content: @Composable (PaddingValues) -> Unit, snackbar: @Composable () -> Unit, fab: @Composable () -> Unit, contentWindowInsets: WindowInsets, bottomBar: @Composable () -> Unit, ) - LongParameterList:Scrollbar.kt$( orientation: Orientation, reverseDirection: Boolean, atEnd: Boolean, showScrollbar: Boolean, thickness: Float, color: Color, alpha: () -> Float, thumbSize: Float, scrollOffset: Float, positionOffset: Float, ) - LongParameterList:SettingsItems.kt$( label: String, placeholder: String, suffix: String, value: Int, step: Int, min: Int? = null, onValueChanged: (Int) -> Unit, ) - MagicNumber:CircularProgressIndicator.kt$2000 - MagicNumber:Modifier.kt$0.16f - MagicNumber:Modifier.kt$0.22f - MagicNumber:PullRefresh.kt$PullToRefreshStateImpl$4 - 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:SettingsItems.kt$0.5f - MagicNumber:SettingsItems.kt$1.5f - MagicNumber:Surface.kt$100f - MagicNumber:Surface.kt$4.5f - MagicNumber:Tabs.kt$0.08f - MagicNumber:Tabs.kt$0.12f - MagicNumber:VerticalFastScroller.kt$100 - MagicNumber:WheelPicker.kt$0.2f - MagicNumber:WheelPicker.kt$1.2f - MatchingDeclarationName:EmptyScreen.kt$EmptyScreenAction - MatchingDeclarationName:SettingsItems.kt$SettingsItemsPaddings - MaxLineLength:Scaffold.kt$* - ModifierComposed:Modifier.kt$clearFocusOnSoftKeyboardHide - ModifierComposed:Modifier.kt$clickableNoIndication - ModifierComposed:Scrollbar.kt$drawScrollbar - ModifierMissing:CollapsibleBox.kt$CollapsibleBox - ModifierMissing:InfoScreen.kt$InfoScreen - ModifierMissing:SectionCard.kt$SectionCard - ModifierMissing:SettingsItems.kt$CheckboxItem - ModifierMissing:SettingsItems.kt$HeadingItem - ModifierMissing:SettingsItems.kt$IconItem - ModifierMissing:SettingsItems.kt$OutlinedNumericChooser - 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:Tabs.kt$TabText - ModifierMissing:WheelPicker.kt$WheelPickerDefaults$Background - ModifierMissing:WheelPicker.kt$WheelPickerDefaults$Item - ParameterNaming:SettingsItems.kt$onValueChanged - ParameterNaming:WheelPicker.kt$onSelectionChanged - PreviewAnnotationNaming:ThemePreviews.kt$ThemePreviews$ThemePreviews - PreviewPublic:Scrollbar.kt$LazyListHorizontalScrollbarPreview - PreviewPublic:Scrollbar.kt$LazyListScrollbarPreview - TooManyFunctions:SettingsItems.kt$tachiyomi.presentation.core.components.SettingsItems.kt - UnusedPrivateMember:InfoScreen.kt$@PreviewLightDark @Composable private fun InfoScaffoldPreview() - ForEachOnRange:UpdatesAnimeWidget.kt$0..<rowCount - ForEachOnRange:UpdatesMangaWidget.kt$0..<rowCount - LongMethod:UpdatesAnimeWidget.kt$@Composable fun UpdatesAnimeWidget( data: ImmutableList<Pair<Long, Bitmap?>>?, contentColor: ColorProvider, topPadding: Dp, bottomPadding: Dp, modifier: GlanceModifier = GlanceModifier, ) - LongMethod:UpdatesMangaWidget.kt$@Composable fun UpdatesMangaWidget( data: ImmutableList<Pair<Long, Bitmap?>>?, contentColor: ColorProvider, topPadding: Dp, bottomPadding: Dp, modifier: GlanceModifier = GlanceModifier, ) - MagicNumber:GlanceUtils.kt$10 - MagicNumber:GlanceUtils.kt$64 - MagicNumber:GlanceUtils.kt$95 - TooGenericExceptionCaught:AnimeWidgetManager.kt$AnimeWidgetManager$e: Exception - TooGenericExceptionCaught:MangaWidgetManager.kt$MangaWidgetManager$e: Exception - CyclomaticComplexMethod:ImageUtil.kt$ImageUtil$fun chooseBackground(context: Context, imageStream: InputStream): Drawable - CyclomaticComplexMethod:RateLimitInterceptor.kt$RateLimitInterceptor$override fun intercept(chain: Interceptor.Chain): Response - ForbiddenComment:Localize.kt$// TODO: janky workaround for https://github.com/icerockdev/moko-resources/issues/337 - 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 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:WebViewInterceptor.kt$_name: String - FunctionParameterNaming:WebViewInterceptor.kt$_value: String - InstanceOfCheckForException:UncaughtExceptionInterceptor.kt$UncaughtExceptionInterceptor$e is IOException - InvalidPackageDeclaration:Constants.kt$package eu.kanade.tachiyomi.core.common - LongMethod:ImageUtil.kt$ImageUtil$fun chooseBackground(context: Context, imageStream: InputStream): Drawable - LoopWithTooManyJumpStatements:ImageUtil.kt$ImageUtil$for - LoopWithTooManyJumpStatements:RateLimitInterceptor.kt$RateLimitInterceptor$while - MagicNumber:DeviceUtil.kt$DeviceUtil$1024 - MagicNumber:DeviceUtil.kt$DeviceUtil$3L - MagicNumber:DeviceUtil.kt$DeviceUtil$90000 - MagicNumber:DiskUtil.kt$DiskUtil$240 - MagicNumber:Hash.kt$Hash$15 - MagicNumber:Hash.kt$Hash$240 - MagicNumber:Hash.kt$Hash$4 - 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$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:NetworkHelper.kt$NetworkHelper$30 - MagicNumber:OkHttpExtensions.kt$30 - MagicNumber:UniFileTempFileManager.kt$UniFileTempFileManager$3 - MagicNumber:UniFileTempFileManager.kt$UniFileTempFileManager$8192 - MagicNumber:WebViewInterceptor.kt$WebViewInterceptor$30 - MaxLineLength:CoroutinesExtensions.kt$* - MaxLineLength:SpecificHostRateLimitInterceptor.kt$* - MaxLineLength:WebViewUtil.kt$WebViewUtil$* - NestedBlockDepth:ImageUtil.kt$ImageUtil$fun chooseBackground(context: Context, imageStream: InputStream): Drawable - NestedBlockDepth:UniFileTempFileManager.kt$UniFileTempFileManager$fun createTempFile(file: UniFile): File - ReturnCount:ImageUtil.kt$ImageUtil$fun chooseBackground(context: Context, imageStream: InputStream): Drawable - ReturnCount:ImageUtil.kt$ImageUtil$fun isAnimatedAndSupported(stream: InputStream): Boolean - ReturnCount:ImageUtil.kt$ImageUtil$fun splitTallImage(tmpDir: UniFile, imageFile: UniFile, filenamePrefix: String): Boolean - ReturnCount:WebViewInterceptor.kt$WebViewInterceptor$@OptIn(DelicateCoroutinesApi::class) override fun intercept(chain: Interceptor.Chain): Response - ReturnCount:WebViewInterceptor.kt$private fun isRequestHeaderSafe(_name: String, _value: String): Boolean - SwallowedException:AndroidPreference.kt$AndroidPreference$e: ClassCastException - SwallowedException:AndroidPreference.kt$AndroidPreference.Object$e: Exception - SwallowedException:DeviceUtil.kt$DeviceUtil$e: Exception - SwallowedException:ImageUtil.kt$ImageUtil$e: Exception - SwallowedException:OkHttpExtensions.kt$ex: Throwable - SwallowedException:PreferenceStore.kt$e: IllegalArgumentException - ThrowingExceptionsWithoutMessageOrCause:OkHttpExtensions.kt$Exception() - ThrowsCount:FileExtensions.kt$fun File.copyAndSetReadOnlyTo(target: File, overwrite: Boolean = false, bufferSize: Int = DEFAULT_BUFFER_SIZE): File - TooGenericExceptionCaught:AndroidPreference.kt$AndroidPreference.Object$e: Exception - TooGenericExceptionCaught:CloudflareInterceptor.kt$CloudflareInterceptor$e: Exception - TooGenericExceptionCaught:DeviceUtil.kt$DeviceUtil$e: Exception - TooGenericExceptionCaught:ImageUtil.kt$ImageUtil$e: Exception - TooGenericExceptionCaught:OkHttpExtensions.kt$<no name provided>$e: Exception - TooGenericExceptionCaught:OkHttpExtensions.kt$ex: Throwable - TooGenericExceptionCaught:UncaughtExceptionInterceptor.kt$UncaughtExceptionInterceptor$e: Exception - TooGenericExceptionCaught:WebViewUtil.kt$WebViewUtil$e: Throwable - TooManyFunctions:DohProviders.kt$eu.kanade.tachiyomi.network.DohProviders.kt - TooManyFunctions:EpubFile.kt$EpubFile : Closeable - TooManyFunctions:ImageUtil.kt$ImageUtil - 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_LIBREDNS = 13 - 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 - UnusedPrivateProperty:JavaScriptEngine.kt$JavaScriptEngine$context: Context - - diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml deleted file mode 100644 index 987f56dd0..000000000 --- a/config/detekt/detekt.yml +++ /dev/null @@ -1,22 +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/data/src/main/java/tachiyomi/data/entries/manga/MangaMapper.kt b/data/src/main/java/tachiyomi/data/entries/manga/MangaMapper.kt index 9d1d2b249..d42ae5560 100644 --- a/data/src/main/java/tachiyomi/data/entries/manga/MangaMapper.kt +++ b/data/src/main/java/tachiyomi/data/entries/manga/MangaMapper.kt @@ -5,7 +5,6 @@ import tachiyomi.domain.entries.manga.model.Manga import tachiyomi.domain.library.manga.LibraryManga object MangaMapper { - @Suppress("LongParameterList") fun mapManga( id: Long, source: Long, @@ -58,7 +57,6 @@ object MangaMapper { version = version, ) - @Suppress("LongParameterList") fun mapLibraryManga( id: Long, source: Long, diff --git a/data/src/main/java/tachiyomi/data/entries/manga/MangaRepositoryImpl.kt b/data/src/main/java/tachiyomi/data/entries/manga/MangaRepositoryImpl.kt index 103032768..61ae53f2f 100644 --- a/data/src/main/java/tachiyomi/data/entries/manga/MangaRepositoryImpl.kt +++ b/data/src/main/java/tachiyomi/data/entries/manga/MangaRepositoryImpl.kt @@ -67,7 +67,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/data/src/main/java/tachiyomi/data/items/chapter/ChapterRepositoryImpl.kt b/data/src/main/java/tachiyomi/data/items/chapter/ChapterRepositoryImpl.kt index 21309a71e..7dc0cddd4 100644 --- a/data/src/main/java/tachiyomi/data/items/chapter/ChapterRepositoryImpl.kt +++ b/data/src/main/java/tachiyomi/data/items/chapter/ChapterRepositoryImpl.kt @@ -127,7 +127,6 @@ class ChapterRepositoryImpl( } } - @Suppress("LongParameterList") private fun mapChapter( id: Long, mangaId: Long, diff --git a/domain/src/main/java/mihon/domain/extensionrepo/manga/interactor/CreateMangaExtensionRepo.kt b/domain/src/main/java/mihon/domain/extensionrepo/manga/interactor/CreateMangaExtensionRepo.kt index 3534b4a06..94a07650e 100644 --- a/domain/src/main/java/mihon/domain/extensionrepo/manga/interactor/CreateMangaExtensionRepo.kt +++ b/domain/src/main/java/mihon/domain/extensionrepo/manga/interactor/CreateMangaExtensionRepo.kt @@ -48,7 +48,6 @@ class CreateMangaExtensionRepo( * * @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 8534421ce..34572f424 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.5" [libraries] desugar = "com.android.tools:desugar_jdk_libs:2.0.4" @@ -96,10 +94,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" } - aniyomi-mpv = "com.github.aniyomiorg:aniyomi-mpv-lib:1.15.n" ffmpeg-kit = "com.github.jmir1:ffmpeg-kit:1.15" arthenica-smartexceptions = "com.arthenica:smart-exception-java:0.2.1" 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(