From 424c7c74ee989b73429e94e119a7e7a5f6222175 Mon Sep 17 00:00:00 2001 From: Cuong-Tran Date: Thu, 22 Aug 2024 18:27:02 +0700 Subject: [PATCH] Address more spotless lint errors from KMK & SY --- .../extension/interactor/TrustExtension.kt | 2 +- .../source/interactor/GetEnabledSources.kt | 9 +- .../eu/kanade/domain/sync/SyncPreferences.kt | 2 +- .../kanade/domain/sync/models/SyncSettings.kt | 2 +- .../browse/ExtensionFilterScreen.kt | 4 +- .../presentation/browse/ExtensionsScreen.kt | 2 +- .../presentation/browse/GlobalSearchScreen.kt | 2 +- .../browse/MigrateSourceScreen.kt | 2 +- .../presentation/browse/SourceFeedScreen.kt | 4 +- .../presentation/browse/SourcesScreen.kt | 5 +- .../browse/components/BaseSourceItem.kt | 2 +- .../browse/components/GlobalSearchToolbar.kt | 2 +- .../browse/components/SourceSettingsButton.kt | 4 +- .../kanade/presentation/manga/MangaScreen.kt | 8 +- .../manga/components/MangaChapterListItem.kt | 7 +- .../manga/components/MangaCover.kt | 14 +-- .../manga/components/MangaToolbar.kt | 3 +- .../components/OutlineButtonWithArrow.kt | 8 +- .../manga/components/PagePreviews.kt | 10 +- .../manga/components/RelatedMangasRow.kt | 4 +- .../presentation/more/ComingUpdatesScreen.kt | 2 +- .../presentation/more/WhatsNewScreen.kt | 2 +- .../screen/SettingsAppearanceScreen.kt | 14 ++- .../settings/screen/SettingsBrowseScreen.kt | 2 +- .../more/settings/screen/about/AboutScreen.kt | 2 +- .../screen/data/CreateBackupScreen.kt | 1 - .../presentation/reader/appbars/ExhUtils.kt | 12 +-- .../presentation/updates/UpdatesUiItem.kt | 6 +- app/src/main/java/eu/kanade/tachiyomi/App.kt | 8 +- .../data/backup/create/BackupCreator.kt | 10 +- .../create/creators/FeedBackupCreator.kt | 2 +- .../creators/SavedSearchBackupCreator.kt | 2 +- .../models/BackupMergedMangaReference.kt | 3 +- .../data/backup/models/BackupTracking.kt | 15 ++- .../data/backup/restore/RestoreOptions.kt | 15 +-- .../tachiyomi/data/cache/ChapterCache.kt | 4 +- .../tachiyomi/data/coil/MangaCoverMetadata.kt | 11 +- .../tachiyomi/data/coil/PagePreviewFetcher.kt | 4 +- .../data/download/DownloadProvider.kt | 3 +- .../data/library/LibraryUpdateJob.kt | 17 ++- .../sync/service/GoogleDriveSyncService.kt | 8 +- .../data/sync/service/SyncService.kt | 86 ++++++++------- .../data/sync/service/SyncYomiSyncService.kt | 6 +- .../tachiyomi/extension/ExtensionManager.kt | 1 + .../tachiyomi/extension/api/ExtensionApi.kt | 2 + .../tachiyomi/source/online/all/EHentai.kt | 13 +-- .../source/online/all/MergedSource.kt | 13 +-- .../base/delegate/SecureActivityDelegate.kt | 33 +++--- .../tachiyomi/ui/browse/feed/FeedTab.kt | 2 +- .../advanced/process/MigrationListScreen.kt | 6 +- .../process/MigrationListScreenModel.kt | 15 ++- .../migration/search/SourceSearchScreen.kt | 2 +- .../ui/browse/source/SourcesScreenModel.kt | 7 +- .../source/browse/BrowseSourceScreen.kt | 2 +- .../source/browse/BrowseSourceScreenModel.kt | 2 +- .../biometric/BiometricTimesScreen.kt | 10 +- .../ui/download/DownloadQueueScreen.kt | 2 +- .../eu/kanade/tachiyomi/ui/home/HomeScreen.kt | 2 +- .../ui/library/LibraryScreenModel.kt | 102 +++++++++++------- .../kanade/tachiyomi/ui/main/MainActivity.kt | 6 +- .../kanade/tachiyomi/ui/manga/MangaScreen.kt | 13 ++- .../tachiyomi/ui/manga/MangaScreenModel.kt | 41 +++++-- .../tachiyomi/ui/manga/PaletteScreen.kt | 32 +++--- .../manga/merged/EditMergedSettingsDialog.kt | 3 +- .../merged/EditMergedSettingsHeaderAdapter.kt | 3 +- .../tachiyomi/ui/reader/ReaderActivity.kt | 41 +++++-- .../tachiyomi/ui/reader/ReaderViewModel.kt | 9 +- .../ui/reader/loader/ChapterLoader.kt | 6 +- .../ui/reader/setting/ReaderPreferences.kt | 2 +- .../ui/reader/setting/ReadingMode.kt | 2 +- .../ui/reader/viewer/ReaderPageImageView.kt | 7 +- .../reader/viewer/ReaderProgressIndicator.kt | 2 +- .../ui/reader/viewer/ReaderTransitionView.kt | 2 +- .../ui/reader/viewer/pager/PagerConfig.kt | 3 +- .../ui/reader/viewer/pager/PagerPageHolder.kt | 16 +-- .../ui/reader/viewer/pager/PagerViewer.kt | 4 +- .../reader/viewer/pager/PagerViewerAdapter.kt | 19 ++-- .../viewer/webtoon/WebtoonPageHolder.kt | 4 +- .../util/system/NotificationExtensions.kt | 10 +- app/src/main/java/exh/GalleryAdder.kt | 24 +++-- app/src/main/java/exh/assets/__EhAssets.kt | 1 + .../main/java/exh/assets/ehassets/EhLogo.kt | 1 + .../java/exh/assets/ehassets/MangadexLogo.kt | 1 + .../main/java/exh/assets/ehassets/__Exh.kt | 1 + .../java/exh/assets/ehassets/exh/__Assets.kt | 1 + .../assets/ehassets/exh/assets/__Ehassets.kt | 1 + .../main/java/exh/eh/EHentaiUpdateWorker.kt | 7 +- .../java/exh/favorites/FavoritesSyncHelper.kt | 12 ++- .../exh/favorites/LocalFavoritesStorage.kt | 9 +- .../main/java/exh/log/EnhancedFilePrinter.kt | 9 +- .../exh/md/follows/MangaDexFollowsScreen.kt | 4 +- .../java/exh/md/handlers/ApiMangaParser.kt | 8 +- .../java/exh/md/handlers/NamicomiHandler.kt | 2 +- app/src/main/java/exh/md/utils/MdUtil.kt | 1 - .../exh/ui/metadata/MetadataViewScreen.kt | 11 +- .../adapters/EHentaiDescriptionAdapter.kt | 9 +- .../adapters/HBrowseDescriptionAdapter.kt | 3 +- .../adapters/MangaDexDescriptionAdapter.kt | 3 +- .../adapters/NHentaiDescriptionAdapter.kt | 2 +- .../adapters/PururinDescriptionAdapter.kt | 25 +++-- .../adapters/TsuminoDescriptionAdapter.kt | 7 +- app/src/main/java/exh/util/DataSaver.kt | 27 ++--- app/src/main/java/exh/util/ExceptionUtil.kt | 6 +- .../java/mihon/core/migration/MigrateUtils.kt | 1 - .../migrations/MergedMangaRewriteMigration.kt | 1 - ...veEncryptionSettingsToAppStateMigration.kt | 2 +- .../exh/util/StringBuilderExtensions.kt | 4 +- .../core/common/archive/ArchiveInputStream.kt | 2 +- .../mihon/core/common/archive/ZipWriter.kt | 2 +- .../core/common/util/system/ImageUtil.kt | 6 +- .../tachiyomi/data/chapter/ChapterMapper.kt | 2 +- .../interactor/GetMergedChaptersByMangaId.kt | 3 +- .../interactor/GetApplicationRelease.kt | 17 +-- .../track/interactor/IsTrackUnfollowed.kt | 6 +- .../interactor/GetApplicationReleaseTest.kt | 16 +-- .../tachiyomi/source/CatalogueSource.kt | 2 +- .../metadata/EHentaiSearchMetadata.kt | 4 +- .../tachiyomi/source/local/LocalSource.kt | 4 +- .../source/local/image/LocalCoverManager.kt | 2 +- 119 files changed, 638 insertions(+), 381 deletions(-) diff --git a/app/src/main/java/eu/kanade/domain/extension/interactor/TrustExtension.kt b/app/src/main/java/eu/kanade/domain/extension/interactor/TrustExtension.kt index 968aecf986..01287cb158 100644 --- a/app/src/main/java/eu/kanade/domain/extension/interactor/TrustExtension.kt +++ b/app/src/main/java/eu/kanade/domain/extension/interactor/TrustExtension.kt @@ -13,7 +13,7 @@ class TrustExtension( ) { suspend fun isTrusted(pkgInfo: PackageInfo, fingerprints: List): Boolean { - // KMK --> + // KMK --> if (fingerprints.contains(CreateExtensionRepo.OFFICIAL_REPO_SIGNATURE)) return true // KMK <-- val trustedFingerprints = extensionRepoRepository.getAll().map { it.signingKeyFingerprint }.toHashSet() diff --git a/app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt b/app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt index 28b6173b5f..5d02514c18 100644 --- a/app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt +++ b/app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt @@ -32,10 +32,11 @@ class GetEnabledSources( ) { a, b, c -> Triple(a, b, c) }, // SY <-- repository.getSources(), - ) { pinnedSourceIds, - (enabledLanguages, disabledSources, lastUsedSource), - (excludedFromDataSaver, sourcesInCategories, sourceCategoriesFilter), - sources, + ) { + pinnedSourceIds, + (enabledLanguages, disabledSources, lastUsedSource), + (excludedFromDataSaver, sourcesInCategories, sourceCategoriesFilter), + sources, -> val sourcesAndCategories = sourcesInCategories.map { diff --git a/app/src/main/java/eu/kanade/domain/sync/SyncPreferences.kt b/app/src/main/java/eu/kanade/domain/sync/SyncPreferences.kt index f8c613ece3..55a7fecfe1 100644 --- a/app/src/main/java/eu/kanade/domain/sync/SyncPreferences.kt +++ b/app/src/main/java/eu/kanade/domain/sync/SyncPreferences.kt @@ -58,7 +58,7 @@ class SyncPreferences( // SY --> customInfo = preferenceStore.getBoolean("customInfo", true).get(), - readEntries = preferenceStore.getBoolean("readEntries", true).get() + readEntries = preferenceStore.getBoolean("readEntries", true).get(), // SY <-- ) } diff --git a/app/src/main/java/eu/kanade/domain/sync/models/SyncSettings.kt b/app/src/main/java/eu/kanade/domain/sync/models/SyncSettings.kt index 720f070c4b..7d574adb30 100644 --- a/app/src/main/java/eu/kanade/domain/sync/models/SyncSettings.kt +++ b/app/src/main/java/eu/kanade/domain/sync/models/SyncSettings.kt @@ -12,6 +12,6 @@ data class SyncSettings( // SY --> val customInfo: Boolean = true, - val readEntries: Boolean = true + val readEntries: Boolean = true, // SY <-- ) diff --git a/app/src/main/java/eu/kanade/presentation/browse/ExtensionFilterScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/ExtensionFilterScreen.kt index 768fad4959..cb10b40731 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/ExtensionFilterScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/ExtensionFilterScreen.kt @@ -72,7 +72,7 @@ private fun ExtensionFilterContent( contentPadding = contentPadding, // KMK --> modifier = Modifier - .padding(start = MaterialTheme.padding.small) + .padding(start = MaterialTheme.padding.small), // KMK <-- ) { items(state.languages) { language -> @@ -87,7 +87,7 @@ private fun ExtensionFilterContent( contentDescription = language, modifier = Modifier .width(48.dp) - .height(32.dp) + .height(32.dp), ) // KMK <-- SwitchPreferenceWidget( diff --git a/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt index 90dc79b7f6..290d0bd3dd 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt @@ -369,7 +369,7 @@ private fun ExtensionItemContent( contentDescription = extension.lang ?: "", modifier = Modifier .width(18.dp) - .height(12.dp) + .height(12.dp), ) // KMK <-- diff --git a/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt index b23b62534f..2ecdb0387a 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt @@ -127,7 +127,7 @@ internal fun GlobalSearchContent( "", "", supportsLatest = false, - isStub = false + isStub = false, ) // KMK <-- diff --git a/app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt index 4a56b4fa21..911f724d19 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt @@ -266,7 +266,7 @@ private fun MigrateSourceItem( contentDescription = lang, modifier = Modifier .width(18.dp) - .height(12.dp) + .height(12.dp), ) // KMK <-- Text( diff --git a/app/src/main/java/eu/kanade/presentation/browse/SourceFeedScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/SourceFeedScreen.kt index ac758adfe3..59f465bb89 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/SourceFeedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/SourceFeedScreen.kt @@ -304,12 +304,12 @@ fun SourceFeedToolbar( AppBarActions( actions = persistentListOf( bulkSelectionButton(toggleSelectionMode), - ) + ), ) persistentListOf( if (sourceId != LocalSource.ID) { IconButton( - onClick = onWebViewClick + onClick = onWebViewClick, ) { Icon( imageVector = Icons.Outlined.Public, diff --git a/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt index 8ed03944aa..47b5dfb465 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt @@ -280,7 +280,7 @@ fun SourcesSearch( ), contentPadding = PaddingValues(12.dp), ) - } + }, ) } @@ -474,7 +474,8 @@ fun SourceOptionsDialog( } // SY <-- // KMK --> - if (onClickSettings != null && source.installedExtension !== null && + if (onClickSettings != null && + source.installedExtension !== null && source.id !in listOf(LocalSource.ID, EH_SOURCE_ID, EXH_SOURCE_ID) ) { Text( diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BaseSourceItem.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BaseSourceItem.kt index 149c77c079..2b0bb7bf49 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BaseSourceItem.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BaseSourceItem.kt @@ -95,7 +95,7 @@ private val defaultContent: @Composable RowScope.( contentDescription = lang, modifier = Modifier .width(18.dp) - .height(12.dp) + .height(12.dp), ) // Won't look good but it's not like we can ellipsize overflowing content diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchToolbar.kt b/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchToolbar.kt index abd223e682..ee18bcd4f3 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchToolbar.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchToolbar.kt @@ -66,7 +66,7 @@ fun GlobalSearchToolbar( AppBarActions( actions = persistentListOf( bulkSelectionButton(toggleSelectionMode), - ) + ), ) }, // KMK <-- diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/SourceSettingsButton.kt b/app/src/main/java/eu/kanade/presentation/browse/components/SourceSettingsButton.kt index 79f0482629..2a7a4d3380 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/SourceSettingsButton.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/SourceSettingsButton.kt @@ -20,7 +20,7 @@ import tachiyomi.source.local.LocalSource @Composable fun SourceSettingsButton( id: Long, - @Suppress("UNUSED_PARAMETER") modifier: Modifier = Modifier + @Suppress("UNUSED_PARAMETER") modifier: Modifier = Modifier, ) { // Create a fake source val source = Source(id, "", "", supportsLatest = false, isStub = false) @@ -30,7 +30,7 @@ fun SourceSettingsButton( @Composable fun SourceSettingsButton( source: Source, - @Suppress("UNUSED_PARAMETER") modifier: Modifier = Modifier + @Suppress("UNUSED_PARAMETER") modifier: Modifier = Modifier, ) { // Avoid E-Hentai & ExHentai which is built-in & not actually installed extensions if (source.id == LocalSource.ID || source.id == EH_SOURCE_ID || source.id == EXH_SOURCE_ID) return diff --git a/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt b/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt index c2fe620b8d..45cc72aa86 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt @@ -520,7 +520,7 @@ private fun MangaScreenSmallImpl( style = HazeStyle( tint = HazeDefaults.tint(fullCoverBackground), blurRadius = 10.dp, - ) + ), ), // KMK <-- ) { contentPadding -> @@ -928,7 +928,7 @@ private fun MangaScreenLargeImpl( style = HazeStyle( tint = HazeDefaults.tint(fullCoverBackground), blurRadius = 10.dp, - ) + ), ), // KMK <-- ) { contentPadding -> @@ -1214,7 +1214,9 @@ private fun LazyListScope.sharedChapterItems( // SY <-- }, readProgress = item.chapter.lastPageRead - .takeIf { /* SY --> */(!item.chapter.read || alwaysShowReadingProgress)/* SY <-- */ && it > 0L } + .takeIf { + /* SY --> */(!item.chapter.read || alwaysShowReadingProgress)/* SY <-- */ && it > 0L + } ?.let { stringResource( MR.strings.chapter_progress, diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt b/app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt index f3d0bab693..55e61e5294 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt @@ -152,7 +152,12 @@ fun MangaChapterListItem( maxLines = 1, overflow = TextOverflow.Ellipsis, ) - if (readProgress != null || scanlator != null/* SY --> */ || sourceName != null/* SY <-- */) DotSeparatorText() + if (readProgress != null || + scanlator != null/* SY --> */ || + sourceName != null/* SY <-- */ + ) { + DotSeparatorText() + } } if (readProgress != null) { Text( diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/MangaCover.kt b/app/src/main/java/eu/kanade/presentation/manga/components/MangaCover.kt index f08e80aeea..231b188dbd 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/MangaCover.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/MangaCover.kt @@ -86,7 +86,7 @@ enum class MangaCover(val ratio: Float) { // KMK --> loading = { Box( - modifier = modifierColored + modifier = modifierColored, ) { CircularProgressIndicator( color = tint?.let { Color(it) } ?: CoverPlaceholderOnBgColor, @@ -96,7 +96,7 @@ enum class MangaCover(val ratio: Float) { Size.Big -> 16.dp Size.Medium -> 24.dp else -> 32.dp - } + }, ) .align(Alignment.Center), strokeWidth = when (size) { @@ -108,7 +108,7 @@ enum class MangaCover(val ratio: Float) { }, error = { Box( - modifier = modifierColored + modifier = modifierColored, ) { Image( imageVector = ImageVector.vectorResource(R.drawable.cover_error_vector), @@ -119,11 +119,11 @@ enum class MangaCover(val ratio: Float) { Size.Big -> 16.dp Size.Medium -> 24.dp else -> 32.dp - } + }, ) .align(Alignment.Center), colorFilter = ColorFilter.tint( - tint?.let { Color(it) } ?: CoverPlaceholderOnBgColor + tint?.let { Color(it) } ?: CoverPlaceholderOnBgColor, ), ) } @@ -178,7 +178,7 @@ enum class MangaCoverHide(private val ratio: Float) { ) Box( - modifier = modifierColored + modifier = modifierColored, ) { Image( imageVector = ImageVector.vectorResource(R.drawable.ic_baseline_menu_book_24), @@ -187,7 +187,7 @@ enum class MangaCoverHide(private val ratio: Float) { .size(32.dp) .align(Alignment.Center), colorFilter = ColorFilter.tint( - tint?.let { Color(it) } ?: CoverPlaceholderOnBgColor + tint?.let { Color(it) } ?: CoverPlaceholderOnBgColor, ), ) } diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt b/app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt index a60f63d7b3..54a7e4c6eb 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt @@ -104,7 +104,8 @@ fun MangaToolbar( } // KMK --> if (isHomeEnabled && navigator != null) { - if (navigator.size >= 2 && navigator.items[navigator.size - 2] is MangaScreen || + if (navigator.size >= 2 && + navigator.items[navigator.size - 2] is MangaScreen || navigator.size >= 5 ) { IconButton(onClick = { onHomeClicked() }) { diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/OutlineButtonWithArrow.kt b/app/src/main/java/eu/kanade/presentation/manga/components/OutlineButtonWithArrow.kt index 82da4a9a3e..a45583f363 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/OutlineButtonWithArrow.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/OutlineButtonWithArrow.kt @@ -38,12 +38,12 @@ fun OutlinedButtonWithArrow( vertical = MaterialTheme.padding.small, ), colors = ButtonDefaults.outlinedButtonColors(), - shape = RoundedCornerShape(8.dp) + shape = RoundedCornerShape(8.dp), ) { Row( modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.Center, - verticalAlignment = Alignment.CenterVertically + verticalAlignment = Alignment.CenterVertically, ) { Text( text = text, @@ -51,7 +51,7 @@ fun OutlinedButtonWithArrow( Spacer(modifier = Modifier.width(4.dp)) Icon( imageVector = icon, - contentDescription = "Arrow" + contentDescription = "Arrow", ) } } @@ -62,6 +62,6 @@ fun OutlinedButtonWithArrow( fun OutlinedButtonWithArrowPreview() { OutlinedButtonWithArrow( text = "Click Me", - onClick = { /* Do nothing */ } + onClick = { /* Do nothing */ }, ) } diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/PagePreviews.kt b/app/src/main/java/eu/kanade/presentation/manga/components/PagePreviews.kt index 14dbfc706f..59eda4c971 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/PagePreviews.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/PagePreviews.kt @@ -44,7 +44,7 @@ import tachiyomi.presentation.core.i18n.stringResource @Composable private fun PagePreviewLoading( - setMaxWidth: (Dp) -> Unit + setMaxWidth: (Dp) -> Unit, ) { val density = LocalDensity.current Box( @@ -63,7 +63,7 @@ private fun PagePreviewLoading( @Composable private fun PagePreviewRow( onOpenPage: (Int) -> Unit, - items: ImmutableList + items: ImmutableList, ) { Row( modifier = Modifier @@ -88,7 +88,7 @@ private fun PagePreviewMore( ) { Box( modifier = Modifier.fillMaxWidth(), - contentAlignment = Alignment.Center + contentAlignment = Alignment.Center, ) { TextButton(onClick = onMorePreviewsClicked) { Text(stringResource(SYMR.strings.more_previews)) @@ -116,7 +116,7 @@ fun PagePreviews( pagePreviewState.pagePreviews.take(rowCount * itemPerRowCount).chunked(itemPerRowCount).forEach { PagePreviewRow( onOpenPage = onOpenPage, - items = remember(it) { it.toImmutableList() } + items = remember(it) { it.toImmutableList() }, ) } @@ -153,7 +153,7 @@ fun LazyListScope.PagePreviewItems( ) { PagePreviewRow( onOpenPage = onOpenPage, - items = remember(it) { it.toImmutableList() } + items = remember(it) { it.toImmutableList() }, ) } item( diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/RelatedMangasRow.kt b/app/src/main/java/eu/kanade/presentation/manga/components/RelatedMangasRow.kt index 895a266a58..428a8ef2c4 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/RelatedMangasRow.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/RelatedMangasRow.kt @@ -46,7 +46,9 @@ fun RelatedMangasRow( ) } - else -> { EmptyResultItem() } + else -> { + EmptyResultItem() + } } } diff --git a/app/src/main/java/eu/kanade/presentation/more/ComingUpdatesScreen.kt b/app/src/main/java/eu/kanade/presentation/more/ComingUpdatesScreen.kt index b5c7eb76fe..bbd25623fd 100644 --- a/app/src/main/java/eu/kanade/presentation/more/ComingUpdatesScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/ComingUpdatesScreen.kt @@ -77,7 +77,7 @@ private fun ComingUpdatesScreenPreview() { changelogInfo = """ ## Yay Foobar - + ### More info [komikku-app/komikku@23d862d17...48fb4a2e6](https://github.com/komikku-app/komikku/compare/23d862d17...48fb4a2e6) - Hello ([@cuong-tran](@https://github.com/cuong-tran)) diff --git a/app/src/main/java/eu/kanade/presentation/more/WhatsNewScreen.kt b/app/src/main/java/eu/kanade/presentation/more/WhatsNewScreen.kt index 34bd087102..c2287e2e43 100644 --- a/app/src/main/java/eu/kanade/presentation/more/WhatsNewScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/WhatsNewScreen.kt @@ -77,7 +77,7 @@ private fun WhatsNewScreenPreview() { changelogInfo = """ ## Yay Foobar - + ### More info [komikku-app/komikku@23d862d17...48fb4a2e6](https://github.com/komikku-app/komikku/compare/23d862d17...48fb4a2e6) - Hello ([@cuong-tran](@https://github.com/cuong-tran)) diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt index 5938441c78..2f893886f0 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt @@ -263,11 +263,15 @@ object SettingsAppearanceScreen : SearchableSettings { Preference.PreferenceItem.SliderPreference( value = previewsRowCount, title = stringResource(SYMR.strings.pref_previews_row_count), - subtitle = if (previewsRowCount > 0) pluralStringResource( - SYMR.plurals.row_count, - previewsRowCount, - previewsRowCount, - ) else stringResource(MR.strings.disabled), + subtitle = if (previewsRowCount > 0) { + pluralStringResource( + SYMR.plurals.row_count, + previewsRowCount, + previewsRowCount, + ) + } else { + stringResource(MR.strings.disabled) + }, min = 0, max = 10, onValueChanged = { diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt index 8bd2c6a264..14b6614fcf 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt @@ -102,7 +102,7 @@ object SettingsBrowseScreen : SearchableSettings { pref = uiPreferences.feedTabInFront(), title = stringResource(SYMR.strings.pref_feed_position), subtitle = stringResource(SYMR.strings.pref_feed_position_summery), - enabled = hideFeedTab.not() + enabled = hideFeedTab.not(), ), ), ), diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt index 9ecd3925e4..ae5f35b2d0 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt @@ -230,7 +230,7 @@ object AboutScreen : Screen() { onPreferenceClick = { uriHandler.openUri( "https://crowdin.com/project/komikku/" + - "invite?h=f922abd4193e77309b084a08c74b89872112170" + "invite?h=f922abd4193e77309b084a08c74b89872112170", ) }, ) diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/data/CreateBackupScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/data/CreateBackupScreen.kt index a9446017f1..fdadafb437 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/data/CreateBackupScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/data/CreateBackupScreen.kt @@ -26,7 +26,6 @@ import eu.kanade.tachiyomi.util.system.toast import kotlinx.collections.immutable.ImmutableList import kotlinx.coroutines.flow.update import tachiyomi.i18n.MR -import tachiyomi.i18n.sy.SYMR import tachiyomi.presentation.core.components.LabeledCheckbox import tachiyomi.presentation.core.components.LazyColumnWithAction import tachiyomi.presentation.core.components.SectionCard diff --git a/app/src/main/java/eu/kanade/presentation/reader/appbars/ExhUtils.kt b/app/src/main/java/eu/kanade/presentation/reader/appbars/ExhUtils.kt index 70ca6d8125..589717fcea 100644 --- a/app/src/main/java/eu/kanade/presentation/reader/appbars/ExhUtils.kt +++ b/app/src/main/java/eu/kanade/presentation/reader/appbars/ExhUtils.kt @@ -63,7 +63,7 @@ fun ExhUtils( modifier .fillMaxWidth() .background(backgroundColor), - horizontalAlignment = Alignment.CenterHorizontally + horizontalAlignment = Alignment.CenterHorizontally, ) { AnimatedVisibility(visible = isVisible) { Column { @@ -84,7 +84,7 @@ fun ExhUtils( ) { Column( Modifier.weight(3f), - horizontalAlignment = Alignment.CenterHorizontally + horizontalAlignment = Alignment.CenterHorizontally, ) { Text( text = stringResource(SYMR.strings.eh_autoscroll), @@ -93,17 +93,17 @@ fun ExhUtils( fontFamily = FontFamily.SansSerif, style = MaterialTheme.typography.labelLarge, modifier = Modifier.fillMaxWidth(0.75f), - textAlign = TextAlign.Center + textAlign = TextAlign.Center, ) } Column( Modifier.weight(1f), - horizontalAlignment = Alignment.CenterHorizontally + horizontalAlignment = Alignment.CenterHorizontally, ) { Switch( checked = isAutoScroll, onCheckedChange = null, - enabled = isAutoScrollEnabled + enabled = isAutoScrollEnabled, ) } } @@ -114,7 +114,7 @@ fun ExhUtils( ) { Column( Modifier.weight(3f), - horizontalAlignment = Alignment.CenterHorizontally + horizontalAlignment = Alignment.CenterHorizontally, ) { var autoScrollFrequencyState by remember { mutableStateOf(autoScrollFrequency) diff --git a/app/src/main/java/eu/kanade/presentation/updates/UpdatesUiItem.kt b/app/src/main/java/eu/kanade/presentation/updates/UpdatesUiItem.kt index 26706b12a7..5229ccea19 100644 --- a/app/src/main/java/eu/kanade/presentation/updates/UpdatesUiItem.kt +++ b/app/src/main/java/eu/kanade/presentation/updates/UpdatesUiItem.kt @@ -109,8 +109,10 @@ internal fun LazyListScope.updatesUiItems( readProgress = updatesItem.update.lastPageRead .takeIf { /* SY --> */( - !updatesItem.update.read || (preserveReadingPosition && updatesItem.isEhBasedUpdate()) - )/* SY <-- */ && it > 0L + !updatesItem.update.read || + (preserveReadingPosition && updatesItem.isEhBasedUpdate()) + )/* SY <-- */ && + it > 0L } ?.let { stringResource( diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt index fbdce79467..1930941cbb 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/App.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/App.kt @@ -185,8 +185,7 @@ class App : Application(), DefaultLifecycleObserver, SingletonImageLoader.Factor val syncPreferences: SyncPreferences = Injekt.get() val syncTriggerOpt = syncPreferences.getSyncTriggerOptions() - if (syncPreferences.isSyncEnabled() && syncTriggerOpt.syncOnAppStart - ) { + if (syncPreferences.isSyncEnabled() && syncTriggerOpt.syncOnAppStart) { SyncDataJob.startNow(this@App) } @@ -247,8 +246,7 @@ class App : Application(), DefaultLifecycleObserver, SingletonImageLoader.Factor val syncPreferences: SyncPreferences = Injekt.get() val syncTriggerOpt = syncPreferences.getSyncTriggerOptions() - if (syncPreferences.isSyncEnabled() && syncTriggerOpt.syncOnAppResume - ) { + if (syncPreferences.isSyncEnabled() && syncTriggerOpt.syncOnAppResume) { SyncDataJob.startNow(this@App) } } @@ -344,7 +342,7 @@ class App : Application(), DefaultLifecycleObserver, SingletonImageLoader.Factor """ App version: ${BuildConfig.VERSION_NAME} (${BuildConfig.FLAVOR}, ${BuildConfig.COMMIT_SHA}, ${BuildConfig.VERSION_CODE}) Build version: ${BuildConfig.COMMIT_COUNT} - Android version: ${Build.VERSION.RELEASE} (SDK ${Build.VERSION.SDK_INT}) + Android version: ${Build.VERSION.RELEASE} (SDK ${Build.VERSION.SDK_INT}) Android build ID: ${Build.DISPLAY} Device brand: ${Build.BRAND} Device manufacturer: ${Build.MANUFACTURER} diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt index 25c0ec0bd9..f0b3a5e1ef 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt @@ -91,11 +91,11 @@ class BackupCreator( } val databaseManga = getFavorites.await() /* SY --> */ + - if (options.readEntries) { - handler.awaitList { mangasQueries.getReadMangaNotInLibrary(MangaMapper::mapManga) } - } else { - emptyList() - } + getMergedManga.await() // SY <-- + if (options.readEntries) { + handler.awaitList { mangasQueries.getReadMangaNotInLibrary(MangaMapper::mapManga) } + } else { + emptyList() + } + getMergedManga.await() // SY <-- val backupManga = backupMangas(databaseManga, options) val backup = Backup( backupManga = backupManga, diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/FeedBackupCreator.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/FeedBackupCreator.kt index 1a23726735..b4ca87f02b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/FeedBackupCreator.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/FeedBackupCreator.kt @@ -7,7 +7,7 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get class FeedBackupCreator( - private val handler: DatabaseHandler = Injekt.get() + private val handler: DatabaseHandler = Injekt.get(), ) { /** diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/SavedSearchBackupCreator.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/SavedSearchBackupCreator.kt index 22941e799f..f5cfad6b86 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/SavedSearchBackupCreator.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/SavedSearchBackupCreator.kt @@ -7,7 +7,7 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get class SavedSearchBackupCreator( - private val handler: DatabaseHandler = Injekt.get() + private val handler: DatabaseHandler = Injekt.get(), ) { suspend fun backupSavedSearches(): List { diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt index 4431570f20..e4b1fd0e29 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt @@ -36,7 +36,8 @@ data class BackupMergedMangaReference( } val backupMergedMangaReferenceMapper = - { _: Long, + { + _: Long, isInfoManga: Boolean, getChapterUpdates: Boolean, chapterSortMode: Long, diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupTracking.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupTracking.kt index 0a05c0edf6..910a8adac0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupTracking.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupTracking.kt @@ -53,7 +53,20 @@ data class BackupTracking( } val backupTrackMapper = { - _: Long, _: Long, syncId: Long, mediaId: Long, libraryId: Long?, title: String, lastChapterRead: Double, totalChapters: Long, status: Long, score: Double, remoteUrl: String, startDate: Long, finishDate: Long -> + _: Long, + _: Long, + syncId: Long, + mediaId: Long, + libraryId: Long?, + title: String, + lastChapterRead: Double, + totalChapters: Long, + status: Long, + score: Double, + remoteUrl: String, + startDate: Long, + finishDate: Long, + -> BackupTracking( syncId = syncId.toInt(), mediaId = mediaId, diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt index 5ed00d04ca..3f68b414ed 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt @@ -23,14 +23,17 @@ data class RestoreOptions( extensionRepoSettings, sourceSettings, // SY --> - savedSearches + savedSearches, // SY <-- ) - fun canRestore() = libraryEntries || categories || appSettings || extensionRepoSettings || sourceSettings || - // SY --> - savedSearches - // SY <-- + fun canRestore() = + libraryEntries || + categories || + appSettings || + extensionRepoSettings || + sourceSettings /* SY --> */ || + savedSearches /* SY <-- */ companion object { val options = persistentListOf( @@ -75,7 +78,7 @@ data class RestoreOptions( extensionRepoSettings = array[3], sourceSettings = array[4], // SY --> - savedSearches = array[5] + savedSearches = array[5], // SY <-- ) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt b/app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt index 8506170a96..ad62524726 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt @@ -36,8 +36,8 @@ class ChapterCache( private val context: Context, private val json: Json, // SY --> - readerPreferences: ReaderPreferences - //S Y <-- + readerPreferences: ReaderPreferences, + // SY <-- ) { // --> EH diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverMetadata.kt b/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverMetadata.kt index 67d90336db..237d3bcb3a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverMetadata.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverMetadata.kt @@ -89,8 +89,11 @@ object MangaCoverMetadata { val options = BitmapFactory.Options() - val updateColors = mangaCover.isMangaFavorite && mangaCover.dominantCoverColors == null || - !onlyDominantColor && mangaCover.vibrantCoverColor == null || force + val updateColors = mangaCover.isMangaFavorite && + mangaCover.dominantCoverColors == null || + !onlyDominantColor && + mangaCover.vibrantCoverColor == null || + force if (updateColors) { /** @@ -123,7 +126,9 @@ object MangaCoverMetadata { bufferedSource != null -> BitmapFactory.decodeStream(bufferedSource.inputStream(), null, options) // if the file exists and the there was still an error then the file is corrupted file?.exists() == true -> BitmapFactory.decodeFile(file.path, options) - else -> { return } + else -> { + return + } } if (bitmap != null) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/coil/PagePreviewFetcher.kt b/app/src/main/java/eu/kanade/tachiyomi/data/coil/PagePreviewFetcher.kt index 0c2974aadd..103475da45 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/coil/PagePreviewFetcher.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/coil/PagePreviewFetcher.kt @@ -57,7 +57,7 @@ class PagePreviewFetcher( source = ImageSource( file = file.toOkioPath(), fileSystem = FileSystem.SYSTEM, - diskCacheKey = diskCacheKey + diskCacheKey = diskCacheKey, ), mimeType = "image/*", dataSource = DataSource.DISK, @@ -229,7 +229,7 @@ class PagePreviewFetcher( file = data, fileSystem = FileSystem.SYSTEM, diskCacheKey = diskCacheKey, - closeable = this + closeable = this, ) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt index f92fc23c5d..9e4ddb70f2 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt @@ -121,7 +121,8 @@ class DownloadProvider( getValidChapterDirNames(chp.name, chp.scanlator).any { dir -> mangaDir.findFile(dir) != null } - } == null || it.name?.endsWith(Downloader.TMP_DIR_SUFFIX) == true + } == null || + it.name?.endsWith(Downloader.TMP_DIR_SUFFIX) == true } } // SY <-- diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt index c2ea6631f1..6b68b436ae 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt @@ -375,14 +375,17 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet async { semaphore.withPermit { if ( - mdlistLogged && mangaInSource.firstOrNull() + mdlistLogged && + mangaInSource.firstOrNull() ?.let { it.manga.source in mangaDexSourceIds } == true ) { launch { mangaInSource.forEach { (manga) -> try { val tracks = getTracks.await(manga.id) - if (tracks.isEmpty() || tracks.none { it.trackerId == TrackerManager.MDLIST }) { + if (tracks.isEmpty() || + tracks.none { it.trackerId == TrackerManager.MDLIST } + ) { val track = mdList.createInitialTracker(manga) insertTrack.await(mdList.refresh(track).toDomainTrack(false)!!) } @@ -412,10 +415,14 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet // SY --> .sortedByDescending { it.sourceOrder }.run { if (libraryPreferences.libraryReadDuplicateChapters().get()) { - val readChapters = getChaptersByMangaId.await(manga.id).filter { it.read } + val readChapters = getChaptersByMangaId.await(manga.id).filter { + it.read + } val newReadChapters = this.filter { chapter -> chapter.chapterNumber > 0 && - readChapters.any { it.chapterNumber == chapter.chapterNumber } + readChapters.any { + it.chapterNumber == chapter.chapterNumber + } } if (newReadChapters.isNotEmpty()) { @@ -427,7 +434,7 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet this } } - //SY <-- + // SY <-- if (newChapters.isNotEmpty()) { val categoryIds = getCategories.await(manga.id).map { it.id } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/sync/service/GoogleDriveSyncService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/sync/service/GoogleDriveSyncService.kt index 0d194deee0..0393649a79 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/sync/service/GoogleDriveSyncService.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/sync/service/GoogleDriveSyncService.kt @@ -164,7 +164,9 @@ class GoogleDriveSyncService(context: Context, json: Json, syncPreferences: Sync appProperties = mapOf("deviceId" to syncData.deviceId) } drive.files().update(fileId, fileMetadata, mediaContent).execute() - logcat(LogPriority.DEBUG) { "Updated existing sync data file in Google Drive with file ID: $fileId" } + logcat(LogPriority.DEBUG) { + "Updated existing sync data file in Google Drive with file ID: $fileId" + } } else { val fileMetadata = File().apply { name = remoteFileName @@ -175,7 +177,9 @@ class GoogleDriveSyncService(context: Context, json: Json, syncPreferences: Sync val uploadedFile = drive.files().create(fileMetadata, mediaContent) .setFields("id") .execute() - logcat(LogPriority.DEBUG) { "Created new sync data file in Google Drive with file ID: ${uploadedFile.id}" } + logcat(LogPriority.DEBUG) { + "Created new sync data file in Google Drive with file ID: ${uploadedFile.id}" + } } } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/sync/service/SyncService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/sync/service/SyncService.kt index 64a6146dd9..2524fbab1f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/sync/service/SyncService.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/sync/service/SyncService.kt @@ -26,7 +26,7 @@ abstract class SyncService( val json: Json, val syncPreferences: SyncPreferences, ) { - abstract suspend fun doSync(syncData: SyncData): Backup?; + abstract suspend fun doSync(syncData: SyncData): Backup? /** * Merges the local and remote sync data into a single JSON string. @@ -44,7 +44,8 @@ abstract class SyncService( remoteSyncData.backup?.backupManga, localSyncData.backup?.backupCategories ?: emptyList(), remoteSyncData.backup?.backupCategories ?: emptyList(), - mergedCategoriesList) + mergedCategoriesList, + ) val mergedSourcesList = mergeSourcesLists(localSyncData.backup?.backupSources, remoteSyncData.backup?.backupSources) @@ -120,11 +121,13 @@ abstract class SyncService( val mergedCategoriesMapByName = mergedCategories.associateBy { it.name } fun updateCategories(theManga: BackupManga, theMap: Map): BackupManga { - return theManga.copy(categories = theManga.categories.mapNotNull { - theMap[it]?.let { category -> - mergedCategoriesMapByName[category.name]?.order - } - }) + return theManga.copy( + categories = theManga.categories.mapNotNull { + theMap[it]?.let { category -> + mergedCategoriesMapByName[category.name]?.order + } + }, + ) } logcat(LogPriority.DEBUG, logTag) { @@ -147,7 +150,7 @@ abstract class SyncService( } updateCategories( local.copy(chapters = mergeChapters(local.chapters, remote.chapters)), - localCategoriesMapByOrder + localCategoriesMapByOrder, ) } else { logcat(LogPriority.DEBUG, logTag) { @@ -155,7 +158,7 @@ abstract class SyncService( } updateCategories( remote.copy(chapters = mergeChapters(local.chapters, remote.chapters)), - remoteCategoriesMapByOrder + remoteCategoriesMapByOrder, ) } } @@ -301,7 +304,7 @@ abstract class SyncService( private fun mergeSourcesLists( localSources: List?, - remoteSources: List? + remoteSources: List?, ): List { val logTag = "MergeSources" @@ -346,7 +349,7 @@ abstract class SyncService( private fun mergePreferencesLists( localPreferences: List?, - remotePreferences: List? + remotePreferences: List?, ): List { val logTag = "MergePreferences" @@ -394,7 +397,7 @@ abstract class SyncService( private fun mergeSourcePreferencesLists( localPreferences: List?, - remotePreferences: List? + remotePreferences: List?, ): List { val logTag = "MergeSourcePreferences" @@ -408,38 +411,39 @@ abstract class SyncService( } // Merge both source preferences maps - val mergedSourcePreferences = (localPreferencesMap.keys + remotePreferencesMap.keys).distinct().mapNotNull { sourceKey -> - val localSourcePreference = localPreferencesMap[sourceKey] - val remoteSourcePreference = remotePreferencesMap[sourceKey] - - logcat(LogPriority.DEBUG, logTag) { - "Processing source preference key: $sourceKey. " + - "Local source preference: ${localSourcePreference != null}, " + - "Remote source preference: ${remoteSourcePreference != null}" - } + val mergedSourcePreferences = (localPreferencesMap.keys + remotePreferencesMap.keys).distinct() + .mapNotNull { sourceKey -> + val localSourcePreference = localPreferencesMap[sourceKey] + val remoteSourcePreference = remotePreferencesMap[sourceKey] + + logcat(LogPriority.DEBUG, logTag) { + "Processing source preference key: $sourceKey. " + + "Local source preference: ${localSourcePreference != null}, " + + "Remote source preference: ${remoteSourcePreference != null}" + } - when { - localSourcePreference != null && remoteSourcePreference == null -> { - logcat(LogPriority.DEBUG, logTag) { - "Using local source preference: ${localSourcePreference.sourceKey}." + when { + localSourcePreference != null && remoteSourcePreference == null -> { + logcat(LogPriority.DEBUG, logTag) { + "Using local source preference: ${localSourcePreference.sourceKey}." + } + localSourcePreference } - localSourcePreference - } - remoteSourcePreference != null && localSourcePreference == null -> { - logcat(LogPriority.DEBUG, logTag) { - "Using remote source preference: ${remoteSourcePreference.sourceKey}." + remoteSourcePreference != null && localSourcePreference == null -> { + logcat(LogPriority.DEBUG, logTag) { + "Using remote source preference: ${remoteSourcePreference.sourceKey}." + } + remoteSourcePreference } - remoteSourcePreference - } - localSourcePreference != null && remoteSourcePreference != null -> { - // Merge the individual preferences within the source preferences - val mergedPrefs = - mergeIndividualPreferences(localSourcePreference.prefs, remoteSourcePreference.prefs) - BackupSourcePreferences(sourceKey, mergedPrefs) + localSourcePreference != null && remoteSourcePreference != null -> { + // Merge the individual preferences within the source preferences + val mergedPrefs = + mergeIndividualPreferences(localSourcePreference.prefs, remoteSourcePreference.prefs) + BackupSourcePreferences(sourceKey, mergedPrefs) + } + else -> null } - else -> null } - } logcat(LogPriority.DEBUG, logTag) { "Source preferences merge completed. Total merged source preferences: ${mergedSourcePreferences.size}" @@ -450,7 +454,7 @@ abstract class SyncService( private fun mergeIndividualPreferences( localPrefs: List, - remotePrefs: List + remotePrefs: List, ): List { val mergedPrefsMap = (localPrefs + remotePrefs).associateBy { it.key } return mergedPrefsMap.values.toList() @@ -459,7 +463,7 @@ abstract class SyncService( // SY --> private fun mergeSavedSearchesLists( localSearches: List?, - remoteSearches: List? + remoteSearches: List?, ): List { val logTag = "MergeSavedSearches" diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/sync/service/SyncYomiSyncService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/sync/service/SyncYomiSyncService.kt index f35381b669..ea04f72ac8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/sync/service/SyncYomiSyncService.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/sync/service/SyncYomiSyncService.kt @@ -38,7 +38,7 @@ class SyncYomiSyncService( try { val (remoteData, etag) = pullSyncData() - val finalSyncData = if (remoteData != null){ + val finalSyncData = if (remoteData != null) { assert(etag.isNotEmpty()) { "ETag should never be empty if remote data is not null" } logcat(LogPriority.DEBUG, "SyncService") { "Try update remote data with ETag($etag)" @@ -54,7 +54,6 @@ class SyncYomiSyncService( pushSyncData(finalSyncData, etag) return finalSyncData.backup - } catch (e: Exception) { logcat(LogPriority.ERROR) { "Error syncing: ${e.message}" } notifier.showSyncError(e.message) @@ -113,7 +112,6 @@ class SyncYomiSyncService( // return default value so we can overwrite it Pair(null, "") } - } else { val responseBody = response.body.string() notifier.showSyncError("Failed to download sync data: $responseBody") @@ -165,11 +163,9 @@ class SyncYomiSyncService( .takeIf { it?.isNotEmpty() == true } ?: throw SyncYomiException("Missing ETag") syncPreferences.lastSyncEtag().set(newETag) logcat(LogPriority.DEBUG) { "SyncYomi sync completed" } - } else if (response.code == HttpStatus.SC_PRECONDITION_FAILED) { // other clients updated remote data, will try next time logcat(LogPriority.DEBUG) { "SyncYomi sync failed with 412" } - } else { val responseBody = response.body.string() notifier.showSyncError("Failed to upload sync data: $responseBody") diff --git a/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt b/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt index 4e6e7622d4..daef404dcf 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt @@ -73,6 +73,7 @@ class ExtensionManager( val installedExtensionsFlow = installedExtensionMapFlow.mapExtensions(scope) private val availableExtensionMapFlow = MutableStateFlow(emptyMap()) + // SY --> val availableExtensionsFlow = availableExtensionMapFlow.map { it.filterNotBlacklisted().values.toList() } .stateIn(scope, SharingStarted.Lazily, availableExtensionMapFlow.value.values.toList()) diff --git a/app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionApi.kt b/app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionApi.kt index 20981417f7..6592546466 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionApi.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionApi.kt @@ -36,8 +36,10 @@ internal class ExtensionApi { private val getExtensionRepo: GetExtensionRepo by injectLazy() private val updateExtensionRepo: UpdateExtensionRepo by injectLazy() private val extensionManager: ExtensionManager by injectLazy() + // SY --> private val sourcePreferences: SourcePreferences by injectLazy() + // SY <-- private val json: Json by injectLazy() diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt index ba2b1c84ea..f35ccae4e3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt @@ -383,7 +383,7 @@ class EHentai( doc.select("#gdd .gdt1").find { el -> el.text().lowercase() == "posted:" }!!.nextElementSibling()!!.text(), - MetadataUtil.EX_DATE_FORMAT.withZone(ZoneOffset.UTC) + MetadataUtil.EX_DATE_FORMAT.withZone(ZoneOffset.UTC), )!!.toInstant().toEpochMilli(), scanlator = EHentaiSearchMetadata.galleryId(location), ) @@ -401,7 +401,7 @@ class EHentai( chapter_number = index + 2f, date_upload = ZonedDateTime.parse( posted, - MetadataUtil.EX_DATE_FORMAT.withZone(ZoneOffset.UTC) + MetadataUtil.EX_DATE_FORMAT.withZone(ZoneOffset.UTC), ).toInstant().toEpochMilli(), scanlator = EHentaiSearchMetadata.galleryId(link), ) @@ -542,9 +542,10 @@ class EHentai( if ( MATCH_SEEK_REGEX.matches(jumpSeekValue) || ( - MATCH_YEAR_REGEX.matches(jumpSeekValue) && jumpSeekValue.toIntOrNull()?.let { - it in 2007..2099 - } == true + MATCH_YEAR_REGEX.matches(jumpSeekValue) && + jumpSeekValue.toIntOrNull()?.let { + it in 2007..2099 + } == true ) ) { uri.appendQueryParameter("seek", jumpSeekValue) @@ -715,7 +716,7 @@ class EHentai( when (left.removeSuffix(":").lowercase()) { "posted" -> datePosted = ZonedDateTime.parse( right, - MetadataUtil.EX_DATE_FORMAT.withZone(ZoneOffset.UTC) + MetadataUtil.EX_DATE_FORMAT.withZone(ZoneOffset.UTC), ).toInstant().toEpochMilli() // Example gallery with parent: https://e-hentai.org/g/1390451/7f181c2426/ // Example JP gallery: https://exhentai.org/g/1375385/03519d541b/ diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MergedSource.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MergedSource.kt index 7587dc8fac..52b839cd31 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MergedSource.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MergedSource.kt @@ -119,12 +119,13 @@ class MergedSource : HttpSource() { "Manga references are empty, chapters unavailable, merge is likely corrupted" } - val ifDownloadNewChapters = downloadChapters && manga.shouldDownloadNewChapters( - getCategories.await(manga.id).map { - it.id - }, - downloadPreferences, - ) + val ifDownloadNewChapters = downloadChapters && + manga.shouldDownloadNewChapters( + getCategories.await(manga.id).map { + it.id + }, + downloadPreferences, + ) val semaphore = Semaphore(5) var exception: Exception? = null return supervisorScope { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt index a39cd3b9a1..e80acfd089 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt @@ -73,16 +73,17 @@ interface SecureActivityDelegate { } val lockedDays = preferences.authenticatorDays().get() - val canLockToday = lockedDays == LOCK_ALL_DAYS || when (today.get(Calendar.DAY_OF_WEEK)) { - Calendar.SUNDAY -> (lockedDays and LOCK_SUNDAY) == LOCK_SUNDAY - Calendar.MONDAY -> (lockedDays and LOCK_MONDAY) == LOCK_MONDAY - Calendar.TUESDAY -> (lockedDays and LOCK_TUESDAY) == LOCK_TUESDAY - Calendar.WEDNESDAY -> (lockedDays and LOCK_WEDNESDAY) == LOCK_WEDNESDAY - Calendar.THURSDAY -> (lockedDays and LOCK_THURSDAY) == LOCK_THURSDAY - Calendar.FRIDAY -> (lockedDays and LOCK_FRIDAY) == LOCK_FRIDAY - Calendar.SATURDAY -> (lockedDays and LOCK_SATURDAY) == LOCK_SATURDAY - else -> false - } + val canLockToday = lockedDays == LOCK_ALL_DAYS || + when (today.get(Calendar.DAY_OF_WEEK)) { + Calendar.SUNDAY -> (lockedDays and LOCK_SUNDAY) == LOCK_SUNDAY + Calendar.MONDAY -> (lockedDays and LOCK_MONDAY) == LOCK_MONDAY + Calendar.TUESDAY -> (lockedDays and LOCK_TUESDAY) == LOCK_TUESDAY + Calendar.WEDNESDAY -> (lockedDays and LOCK_WEDNESDAY) == LOCK_WEDNESDAY + Calendar.THURSDAY -> (lockedDays and LOCK_THURSDAY) == LOCK_THURSDAY + Calendar.FRIDAY -> (lockedDays and LOCK_FRIDAY) == LOCK_FRIDAY + Calendar.SATURDAY -> (lockedDays and LOCK_SATURDAY) == LOCK_SATURDAY + else -> false + } return canLockNow && canLockToday } @@ -99,11 +100,13 @@ interface SecureActivityDelegate { // `requireUnlock` can be true on process start or if app was closed in locked state if (!AuthenticatorUtil.isAuthenticating && !requireUnlock) { - requireUnlock = /* SY --> */ canLockNow(preferences) && /* SY <-- */ when (val lockDelay = preferences.lockAppAfter().get()) { - -1 -> false // Never - 0 -> true // Always - else -> lastClosedPref.get() + lockDelay * 60_000 <= System.currentTimeMillis() - } + requireUnlock = + /* SY --> */ canLockNow(preferences) && + /* SY <-- */ when (val lockDelay = preferences.lockAppAfter().get()) { + -1 -> false // Never + 0 -> true // Always + else -> lastClosedPref.get() + lockDelay * 60_000 <= System.currentTimeMillis() + } } lastClosedPref.delete() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt index 43c53ff7fa..b53d192f81 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt @@ -202,7 +202,7 @@ fun feedTab( onMoveBottom = { dialog.nextFeed?.let { screenModel.moveToBottom(dialog.feedItem.feed) } screenModel.dismissDialog() - } + }, ) } // KMK <-- diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreen.kt index d51400ad20..a35a8e7cfc 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreen.kt @@ -124,7 +124,11 @@ class MigrationListScreen(private val config: MigrationProcedureConfig) : Screen ) val onDismissRequest = { screenModel.dialog.value = null } - when (@Suppress("NAME_SHADOWING") val dialog = dialog) { + when + ( + @Suppress("NAME_SHADOWING") + val dialog = dialog + ) { is MigrationListScreenModel.Dialog.MigrateMangaDialog -> { MigrationMangaDialog( onDismissRequest = onDismissRequest, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreenModel.kt index 817d437d57..8514a13cbd 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreenModel.kt @@ -225,7 +225,9 @@ class MigrationListScreenModel( smartSearchEngine.normalSearch(source, mangaObj.ogTitle) } - if (searchResult != null && !(searchResult.url == mangaObj.url && source.id == mangaObj.source)) { + if (searchResult != null && + !(searchResult.url == mangaObj.url && source.id == mangaObj.source) + ) { val localManga = networkToLocalManga.await(searchResult) val chapters = if (source is EHentai) { @@ -239,7 +241,8 @@ class MigrationListScreenModel( } catch (e: Exception) { return@async2 null } - manga.progress.value = validSources.size to processedSources.incrementAndGet() + manga.progress.value = + validSources.size to processedSources.incrementAndGet() localManga to chapters.size } else { null @@ -319,7 +322,8 @@ class MigrationListScreenModel( if (result == null && hideNotFound) { removeManga(manga) } - if (result != null && showOnlyUpdates && + if (result != null && + showOnlyUpdates && (getChapterInfo(result.id).latestChapter ?: 0.0) <= (manga.chapterInfo.latestChapter ?: 0.0) ) { removeManga(manga) @@ -368,7 +372,10 @@ class MigrationListScreenModel( dbChapters.forEach { chapter -> if (chapter.isRecognizedNumber) { - val prevChapter = prevMangaChapters.find { it.isRecognizedNumber && it.chapterNumber == chapter.chapterNumber } + val prevChapter = prevMangaChapters.find { + it.isRecognizedNumber && + it.chapterNumber == chapter.chapterNumber + } if (prevChapter != null) { chapterUpdates += ChapterUpdate( id = chapter.id, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt index 4ae5ad9695..6846382a71 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt @@ -101,7 +101,7 @@ data class SourceSearchScreen( AppBarActions( actions = persistentListOf( bulkSelectionButton(bulkFavoriteScreenModel::toggleSelectionMode), - ) + ), ) }, // KMK <-- diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt index 5197f6b589..1caabb4b3c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt @@ -102,7 +102,7 @@ class SourcesScreenModel( // KMK <-- categories: List, showLatest: Boolean, - showPin: Boolean + showPin: Boolean, ) { // KMK --> val searchQuery = filters.first @@ -156,7 +156,10 @@ class SourcesScreenModel( items = byLang .flatMap { listOf( - SourceUiModel.Header(it.key.removePrefix(CATEGORY_KEY_PREFIX), it.value.firstOrNull()?.category != null), + SourceUiModel.Header( + it.key.removePrefix(CATEGORY_KEY_PREFIX), + it.value.firstOrNull()?.category != null, + ), *it.value.map { source -> SourceUiModel.Item(source) }.toTypedArray(), diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt index 9cb57d2927..759d0e7aa1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt @@ -316,7 +316,7 @@ data class BrowseSourceScreen( val duplicateManga = screenModel.getDuplicateLibraryManga(manga) when { manga.favorite -> screenModel.setDialog( - BrowseSourceScreenModel.Dialog.RemoveManga(manga) + BrowseSourceScreenModel.Dialog.RemoveManga(manga), ) duplicateManga != null -> screenModel.setDialog( BrowseSourceScreenModel.Dialog.AddDuplicateManga( diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt index 2972dc4422..e59c141366 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt @@ -497,7 +497,7 @@ open class BrowseSourceScreenModel( val filterable: Boolean = true, // SY <-- // KMK --> - val mangaDisplayingList: MutableSet = mutableSetOf() + val mangaDisplayingList: MutableSet = mutableSetOf(), // KMK <-- ) { val isUserQuery get() = listing is Listing.Search && !listing.query.isNullOrEmpty() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/category/biometric/BiometricTimesScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/category/biometric/BiometricTimesScreen.kt index e0c382034c..44a506a706 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/category/biometric/BiometricTimesScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/category/biometric/BiometricTimesScreen.kt @@ -48,7 +48,15 @@ class BiometricTimesScreen : Screen() { fun showTimePicker(startTime: Duration? = null) { val activity = context as? MainActivity ?: return val picker = MaterialTimePicker.Builder() - .setTitleText(if (startTime == null) SYMR.strings.biometric_lock_start_time.getString(context) else SYMR.strings.biometric_lock_end_time.getString(context)) + .setTitleText( + if (startTime == + null + ) { + SYMR.strings.biometric_lock_start_time.getString(context) + } else { + SYMR.strings.biometric_lock_end_time.getString(context) + }, + ) .setInputMode(MaterialTimePicker.INPUT_MODE_CLOCK) .build() picker.addOnPositiveButtonClickListener { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadQueueScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadQueueScreen.kt index 3d7d61681e..509d14e505 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadQueueScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadQueueScreen.kt @@ -72,7 +72,7 @@ object DownloadQueueScreen : Screen() { val screenModel = rememberScreenModel { DownloadQueueScreenModel( // KMK --> - navigator = navigator + navigator = navigator, // KMK <-- ) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt index e8118ef295..59891011d4 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt @@ -152,7 +152,7 @@ object HomeScreen : Screen() { materialFadeThroughOut(durationMillis = TAB_FADE_DURATION) }, label = "tabContent", - contentKey = { it.key } + contentKey = { it.key }, ) { tabNavigator.saveableState(key = "currentTab", it) { it.Content() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt index b7c16d13c5..fe189e7004 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt @@ -394,7 +394,8 @@ class LibraryScreenModel( .asSequence() .mapNotNull { val list = it.split("|") - (list.getOrNull(0)?.toIntOrNull() ?: return@mapNotNull null) to (list.getOrNull(1) ?: return@mapNotNull null) + (list.getOrNull(0)?.toIntOrNull() ?: return@mapNotNull null) to + (list.getOrNull(1) ?: return@mapNotNull null) } .sortedBy { it.first } .map { it.second } @@ -460,8 +461,12 @@ class LibraryScreenModel( } // SY --> LibrarySort.Type.TagList -> { - val manga1IndexOfTag = listOfTags.indexOfFirst { i1.libraryManga.manga.genre?.contains(it) ?: false } - val manga2IndexOfTag = listOfTags.indexOfFirst { i2.libraryManga.manga.genre?.contains(it) ?: false } + val manga1IndexOfTag = listOfTags.indexOfFirst { + i1.libraryManga.manga.genre?.contains(it) ?: false + } + val manga2IndexOfTag = listOfTags.indexOfFirst { + i2.libraryManga.manga.genre?.contains(it) ?: false + } manga1IndexOfTag.compareTo(manga2IndexOfTag) } // SY <-- @@ -572,7 +577,7 @@ class LibraryScreenModel( source.lang, source.name, supportsLatest = false, - isStub = source is StubSource + isStub = source is StubSource, ) } else { null @@ -854,9 +859,12 @@ class LibraryScreenModel( if (source != null) { if (source is MergedSource) { val mergedMangas = getMergedMangaById.await(manga.id) - val sources = mergedMangas.distinctBy { it.source }.map { sourceManager.getOrStub(it.source) } + val sources = mergedMangas.distinctBy { + it.source + }.map { sourceManager.getOrStub(it.source) } mergedMangas.forEach merge@{ mergedManga -> - val mergedSource = sources.firstOrNull { mergedManga.source == it.id } as? HttpSource ?: return@merge + val mergedSource = + sources.firstOrNull { mergedManga.source == it.id } as? HttpSource ?: return@merge downloadManager.deleteManga(mergedManga, mergedSource) } } else { @@ -934,10 +942,11 @@ class LibraryScreenModel( } else { categoryName } - LibraryGroup.BY_TRACK_STATUS -> TrackStatus.entries - .find { it.int.toLong() == category?.id } - .let { it ?: TrackStatus.OTHER } - .let { context.stringResource(it.res) } + LibraryGroup.BY_TRACK_STATUS -> + TrackStatus.entries + .find { it.int.toLong() == category?.id } + .let { it ?: TrackStatus.OTHER } + .let { context.stringResource(it.res) } LibraryGroup.UNGROUPED -> context.stringResource(SYMR.strings.ungrouped) else -> categoryName } @@ -1024,49 +1033,66 @@ class LibraryScreenModel( (manga.description?.contains(query, true) == true) || (source?.name?.contains(query, true) == true) || (sourceIdString != null && sourceIdString == query) || - (loggedInTrackServices.isNotEmpty() && tracks != null && filterTracks(query, tracks, context)) || + ( + loggedInTrackServices.isNotEmpty() && + tracks != null && + filterTracks(query, tracks, context) + ) || (genre.fastAny { it.contains(query, true) }) || (searchTags?.fastAny { it.name.contains(query, true) } == true) || (searchTitles?.fastAny { it.title.contains(query, true) } == true) } is Namespace -> { - searchTags != null && searchTags.fastAny { - val tag = queryComponent.tag - (it.namespace.equals(queryComponent.namespace, true) && tag?.run { it.name.contains(tag.asQuery(), true) } == true) || - (tag == null && it.namespace.equals(queryComponent.namespace, true)) - } + searchTags != null && + searchTags.fastAny { + val tag = queryComponent.tag + ( + it.namespace.equals(queryComponent.namespace, true) && + tag?.run { it.name.contains(tag.asQuery(), true) } == true + ) || + (tag == null && it.namespace.equals(queryComponent.namespace, true)) + } } else -> true } true -> when (queryComponent) { is Text -> { val query = queryComponent.asQuery() - query.isBlank() || ( - (!manga.title.contains(query, true)) && - (manga.author?.contains(query, true) != true) && - (manga.artist?.contains(query, true) != true) && - (manga.description?.contains(query, true) != true) && - (source?.name?.contains(query, true) != true) && - (sourceIdString != null && sourceIdString != query) && - (loggedInTrackServices.isEmpty() || tracks == null || !filterTracks(query, tracks, context)) && - (!genre.fastAny { it.contains(query, true) }) && - (searchTags?.fastAny { it.name.contains(query, true) } != true) && - (searchTitles?.fastAny { it.title.contains(query, true) } != true) - ) + query.isBlank() || + ( + (!manga.title.contains(query, true)) && + (manga.author?.contains(query, true) != true) && + (manga.artist?.contains(query, true) != true) && + (manga.description?.contains(query, true) != true) && + (source?.name?.contains(query, true) != true) && + (sourceIdString != null && sourceIdString != query) && + ( + loggedInTrackServices.isEmpty() || + tracks == null || + !filterTracks(query, tracks, context) + ) && + (!genre.fastAny { it.contains(query, true) }) && + (searchTags?.fastAny { it.name.contains(query, true) } != true) && + (searchTitles?.fastAny { it.title.contains(query, true) } != true) + ) } is Namespace -> { val searchedTag = queryComponent.tag?.asQuery() - searchTags == null || (queryComponent.namespace.isBlank() && searchedTag.isNullOrBlank()) || searchTags.fastAll { mangaTag -> - if (queryComponent.namespace.isBlank() && !searchedTag.isNullOrBlank()) { - !mangaTag.name.contains(searchedTag, true) - } else if (searchedTag.isNullOrBlank()) { - mangaTag.namespace == null || !mangaTag.namespace.equals(queryComponent.namespace, true) - } else if (mangaTag.namespace.isNullOrBlank()) { - true - } else { - !mangaTag.name.contains(searchedTag, true) || !mangaTag.namespace.equals(queryComponent.namespace, true) + searchTags == null || + (queryComponent.namespace.isBlank() && searchedTag.isNullOrBlank()) || + searchTags.fastAll { mangaTag -> + if (queryComponent.namespace.isBlank() && !searchedTag.isNullOrBlank()) { + !mangaTag.name.contains(searchedTag, true) + } else if (searchedTag.isNullOrBlank()) { + mangaTag.namespace == null || + !mangaTag.namespace.equals(queryComponent.namespace, true) + } else if (mangaTag.namespace.isNullOrBlank()) { + true + } else { + !mangaTag.name.contains(searchedTag, true) || + !mangaTag.namespace.equals(queryComponent.namespace, true) + } } - } } else -> true } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt index e48bd52ca8..b856300072 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt @@ -364,8 +364,10 @@ class MainActivity : BaseActivity() { mutableStateOf( // KMK --> // BuildConfig.DEBUG || - isReleaseBuildType && didMigration || - isPreviewBuildType && previewCurrentVersion > previewLastVersion.get() + isReleaseBuildType && + didMigration || + isPreviewBuildType && + previewCurrentVersion > previewLastVersion.get(), // KMK <-- ) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt index 922c926544..c4123fa12a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt @@ -186,7 +186,7 @@ class MangaScreen( val seedColor = successState.seedColor TachiyomiTheme( - seedColor = seedColor.takeIf { screenModel.themeCoverBased } + seedColor = seedColor.takeIf { screenModel.themeCoverBased }, ) { content() } @@ -329,10 +329,14 @@ class MangaScreen( ) }, onEditInfoClicked = screenModel::showEditMangaInfoDialog, - onRecommendClicked = { openRecommends(context, navigator, screenModel.source?.getMainSource(), successState.manga) }, + onRecommendClicked = { + openRecommends(context, navigator, screenModel.source?.getMainSource(), successState.manga) + }, onMergedSettingsClicked = screenModel::showEditMergedSettingsDialog, onMergeClicked = { openSmartSearch(navigator, successState.manga) }, - onMergeWithAnotherClicked = { mergeWithAnother(navigator, context, successState.manga, screenModel::smartSearchMerge) }, + onMergeWithAnotherClicked = { + mergeWithAnother(navigator, context, successState.manga, screenModel::smartSearchMerge) + }, onOpenPagePreview = { page -> openPagePreview(context, successState.chapters.minByOrNull { it.chapter.sourceOrder }?.chapter, page) }, @@ -620,7 +624,8 @@ class MangaScreen( // KMK --> navigator.popUntil { screen -> screen is HomeScreen || - !library && (screen is BrowseSourceScreen || screen is SourceFeedScreen) + !library && + (screen is BrowseSourceScreen || screen is SourceFeedScreen) } // KMK <-- diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt index f4eca19163..e92eaba9bc 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt @@ -300,7 +300,10 @@ class MangaScreenModel( } } .onEach { (manga, chapters) -> - if (chapters.isNotEmpty() && manga.isEhBasedManga() && DebugToggles.ENABLE_EXH_ROOT_REDIRECT.enabled) { + if (chapters.isNotEmpty() && + manga.isEhBasedManga() && + DebugToggles.ENABLE_EXH_ROOT_REDIRECT.enabled + ) { // Check for gallery in library and accept manga with lowest id // Find chapters sharing same root launchIO { @@ -388,7 +391,7 @@ class MangaScreenModel( } else { flowOf(emptySet()) } - } + }, ) { mangaScanlators, mergeScanlators -> mangaScanlators + mergeScanlators } // SY <-- @@ -405,7 +408,15 @@ class MangaScreenModel( val manga = getMangaAndChapters.awaitManga(mangaId) // SY --> - val chapters = (if (manga.source == MERGED_SOURCE_ID) getMergedChaptersByMangaId.await(mangaId, applyScanlatorFilter = true) else getMangaAndChapters.awaitChapters(mangaId, applyScanlatorFilter = true)) + val chapters = ( + if (manga.source == + MERGED_SOURCE_ID + ) { + getMergedChaptersByMangaId.await(mangaId, applyScanlatorFilter = true) + } else { + getMangaAndChapters.awaitChapters(mangaId, applyScanlatorFilter = true) + } + ) .toChapterListItems(manga, null) val mergedData = getMergedReferencesById.await(mangaId).takeIf { it.isNotEmpty() }?.let { references -> MergedMangaData( @@ -460,7 +471,8 @@ class MangaScreenModel( } else { PagePreviewState.Unused }, - alwaysShowReadingProgress = readerPreferences.preserveReadingPosition().get() && manga.isEhBasedManga(), + alwaysShowReadingProgress = + readerPreferences.preserveReadingPosition().get() && manga.isEhBasedManga(), previewsRowCount = uiPreferences.previewsRowCount().get(), // SY <-- ) @@ -542,7 +554,7 @@ class MangaScreenModel( // } }, ) - .build() + .build(), ) } @@ -1066,7 +1078,12 @@ class MangaScreenModel( screenModelScope.launchIO { downloadManager.statusFlow() .filter { - /* SY --> */ if (isMergedSource) it.manga.id in mergedIds else /* SY <-- */ it.manga.id == successState?.manga?.id + /* SY --> */ if (isMergedSource) { + it.manga.id in mergedIds + } else { + /* SY <-- */ it.manga.id == + successState?.manga?.id + } } .catch { error -> logcat(LogPriority.ERROR, error) } .collect { @@ -1079,7 +1096,12 @@ class MangaScreenModel( screenModelScope.launchIO { downloadManager.progressFlow() .filter { - /* SY --> */ if (isMergedSource) it.manga.id in mergedIds else /* SY <-- */ it.manga.id == successState?.manga?.id + /* SY --> */ if (isMergedSource) { + it.manga.id in mergedIds + } else { + /* SY <-- */ it.manga.id == + successState?.manga?.id + } } .catch { error -> logcat(LogPriority.ERROR, error) } .collect { @@ -1755,7 +1777,8 @@ class MangaScreenModel( } // SY --> .map { (tracks, supportedTrackers) -> - val supportedTrackerTracks = if (manga.source in mangaDexSourceIds || state.mergedData?.manga?.values.orEmpty().any { + val supportedTrackerTracks = if (manga.source in mangaDexSourceIds || + state.mergedData?.manga?.values.orEmpty().any { it.source in mangaDexSourceIds } ) { @@ -1937,7 +1960,7 @@ class MangaScreenModel( * a list of */ val relatedMangaCollection: List? = null, - val seedColor: Color? = manga.asMangaCover().vibrantCoverColor?.let { Color(it) } + val seedColor: Color? = manga.asMangaCover().vibrantCoverColor?.let { Color(it) }, // KMK <-- ) : State { // KMK --> diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/PaletteScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/PaletteScreen.kt index 01355b19a4..494fc6f973 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/PaletteScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/PaletteScreen.kt @@ -39,7 +39,7 @@ class PaletteScreen( val seedColor = seedColor?.let { Color(it) } ?: MaterialTheme.colorScheme.primary TachiyomiTheme( - seedColor = seedColor.takeIf { themeCoverBased } + seedColor = seedColor.takeIf { themeCoverBased }, ) { MaterialThemeContent(seedColor) } @@ -76,7 +76,7 @@ class PaletteScreen( "primary", MaterialTheme.colorScheme.primary, "primaryContainer", - MaterialTheme.colorScheme.primaryContainer + MaterialTheme.colorScheme.primaryContainer, ) } item { @@ -84,7 +84,7 @@ class PaletteScreen( "secondary", MaterialTheme.colorScheme.secondary, "secondaryContainer", - MaterialTheme.colorScheme.secondaryContainer + MaterialTheme.colorScheme.secondaryContainer, ) } item { @@ -92,7 +92,7 @@ class PaletteScreen( "tertiary", MaterialTheme.colorScheme.tertiary, "tertiaryContainer", - MaterialTheme.colorScheme.tertiaryContainer + MaterialTheme.colorScheme.tertiaryContainer, ) } item { @@ -100,7 +100,7 @@ class PaletteScreen( "surface", MaterialTheme.colorScheme.surface, "surfaceVariant", - MaterialTheme.colorScheme.surfaceVariant + MaterialTheme.colorScheme.surfaceVariant, ) } item { @@ -108,7 +108,7 @@ class PaletteScreen( "inverseSurface", MaterialTheme.colorScheme.inverseSurface, "surfaceTint", - MaterialTheme.colorScheme.surfaceTint + MaterialTheme.colorScheme.surfaceTint, ) } item { @@ -116,7 +116,7 @@ class PaletteScreen( "inversePrimary", MaterialTheme.colorScheme.inversePrimary, "background", - MaterialTheme.colorScheme.background + MaterialTheme.colorScheme.background, ) } item { @@ -124,7 +124,7 @@ class PaletteScreen( "error", MaterialTheme.colorScheme.error, "errorContainer", - MaterialTheme.colorScheme.errorContainer + MaterialTheme.colorScheme.errorContainer, ) } item { @@ -132,7 +132,7 @@ class PaletteScreen( "outline", MaterialTheme.colorScheme.outline, "outlineVariant", - MaterialTheme.colorScheme.outlineVariant + MaterialTheme.colorScheme.outlineVariant, ) } item { @@ -140,7 +140,7 @@ class PaletteScreen( "scrim", MaterialTheme.colorScheme.scrim, "surfaceBright", - MaterialTheme.colorScheme.surfaceBright + MaterialTheme.colorScheme.surfaceBright, ) } item { @@ -148,7 +148,7 @@ class PaletteScreen( "surfaceDim", MaterialTheme.colorScheme.surfaceDim, "surfaceContainer", - MaterialTheme.colorScheme.surfaceContainer + MaterialTheme.colorScheme.surfaceContainer, ) } item { @@ -156,7 +156,7 @@ class PaletteScreen( "surfaceContainerHigh", MaterialTheme.colorScheme.surfaceContainerHigh, "surfaceContainerHighest", - MaterialTheme.colorScheme.surfaceContainerHighest + MaterialTheme.colorScheme.surfaceContainerHighest, ) } item { @@ -164,7 +164,7 @@ class PaletteScreen( "surfaceContainerLow", MaterialTheme.colorScheme.surfaceContainerLow, "surfaceContainerLowest", - MaterialTheme.colorScheme.surfaceContainerLowest + MaterialTheme.colorScheme.surfaceContainerLowest, ) } } @@ -184,7 +184,7 @@ fun ButtonsColor( Row( modifier = Modifier .padding(horizontal = 16.dp) - .fillMaxWidth() + .fillMaxWidth(), ) { Button( onClick = { }, @@ -194,7 +194,7 @@ fun ButtonsColor( colors = ButtonDefaults.buttonColors( containerColor = color1, contentColor = contentColor1, - ) + ), ) { Text( text = name1, @@ -211,7 +211,7 @@ fun ButtonsColor( ), ) { Text( - text = name2 + text = name2, ) } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsDialog.kt index f012d1b390..4841035977 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsDialog.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsDialog.kt @@ -59,7 +59,8 @@ class EditMergedSettingsState( }.map { reference -> mergedManga.firstOrNull { it.id == reference.mangaId } to reference } mergeReference = mergedReferences.firstOrNull { it.mangaSourceId == MERGED_SOURCE_ID } - val isPriorityOrder = mergeReference?.let { it.chapterSortMode == MergedMangaReference.CHAPTER_SORT_PRIORITY } ?: false + val isPriorityOrder = + mergeReference?.let { it.chapterSortMode == MergedMangaReference.CHAPTER_SORT_PRIORITY } ?: false mergedMangaAdapter = EditMergedMangaAdapter(this, isPriorityOrder) mergedMangaHeaderAdapter = EditMergedSettingsHeaderAdapter(this, mergedMangaAdapter!!) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsHeaderAdapter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsHeaderAdapter.kt index 3c6e5fc383..0b11115922 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsHeaderAdapter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsHeaderAdapter.kt @@ -161,7 +161,8 @@ class EditMergedSettingsHeaderAdapter(private val state: EditMergedSettingsState } } - fun canMove() = state.mergeReference?.let { it.chapterSortMode == MergedMangaReference.CHAPTER_SORT_PRIORITY } ?: false + fun canMove() = + state.mergeReference?.let { it.chapterSortMode == MergedMangaReference.CHAPTER_SORT_PRIORITY } ?: false interface SortingListener { fun onSetPrioritySort(isPriorityOrder: Boolean) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index 9fe8d65a55..e541bfaa60 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -476,10 +476,12 @@ class ReaderActivity : BaseActivity() { val landscapeVerticalSeekbar by readerPreferences.landscapeVerticalSeekbar().collectAsState() val leftHandedVerticalSeekbar by readerPreferences.leftVerticalSeekbar().collectAsState() val configuration = LocalConfiguration.current - val verticalSeekbarLandscape = configuration.orientation == Configuration.ORIENTATION_LANDSCAPE && landscapeVerticalSeekbar + val verticalSeekbarLandscape = + configuration.orientation == Configuration.ORIENTATION_LANDSCAPE && landscapeVerticalSeekbar val verticalSeekbarHorizontal = configuration.orientation == Configuration.ORIENTATION_PORTRAIT val viewerIsVertical = (state.viewer is WebtoonViewer || state.viewer is VerticalPagerViewer) - val showVerticalSeekbar = !forceHorizontalSeekbar && (verticalSeekbarLandscape || verticalSeekbarHorizontal) && viewerIsVertical + val showVerticalSeekbar = + !forceHorizontalSeekbar && (verticalSeekbarLandscape || verticalSeekbarHorizontal) && viewerIsVertical val navBarType = when { !showVerticalSeekbar -> NavBarType.Bottom leftHandedVerticalSeekbar -> NavBarType.VerticalLeft @@ -940,7 +942,8 @@ class ReaderActivity : BaseActivity() { } else { if (readerPreferences.fullscreen().get()) { windowInsetsController.hide(WindowInsetsCompat.Type.systemBars()) - windowInsetsController.systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE + windowInsetsController.systemBarsBehavior = + WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE } } } @@ -1160,7 +1163,13 @@ class ReaderActivity : BaseActivity() { // SY --> val currentPageText = if (hasExtraPage) { val invertDoublePage = (viewModel.state.value.viewer as? PagerViewer)?.config?.invertDoublePages ?: false - if ((resources.configuration.layoutDirection == View.LAYOUT_DIRECTION_LTR) xor invertDoublePage) "${page.number}-${page.number + 1}" else "${page.number + 1}-${page.number}" + if ((resources.configuration.layoutDirection == View.LAYOUT_DIRECTION_LTR) xor + invertDoublePage + ) { + "${page.number}-${page.number + 1}" + } else { + "${page.number + 1}-${page.number}" + } } else { "${page.number}" } @@ -1222,7 +1231,16 @@ class ReaderActivity : BaseActivity() { // SY --> val text = if (secondPage != null) { - stringResource(SYMR.strings.share_pages_info, manga.title, chapter.name, if (resources.configuration.layoutDirection == View.LAYOUT_DIRECTION_LTR) "${page.number}-${page.number + 1}" else "${page.number + 1}-${page.number}") + stringResource( + SYMR.strings.share_pages_info, manga.title, chapter.name, + if (resources.configuration.layoutDirection == + View.LAYOUT_DIRECTION_LTR + ) { + "${page.number}-${page.number + 1}" + } else { + "${page.number + 1}-${page.number}" + }, + ) } else { stringResource(MR.strings.share_page_info, manga.title, chapter.name, page.number) } @@ -1386,11 +1404,14 @@ class ReaderActivity : BaseActivity() { .onEach { if (viewModel.state.value.viewer !is PagerViewer) return@onEach reloadChapters( - !it && when (readerPreferences.pageLayout().get()) { - PagerConfig.PageLayout.DOUBLE_PAGES -> true - PagerConfig.PageLayout.AUTOMATIC -> resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE - else -> false - }, + !it && + when (readerPreferences.pageLayout().get()) { + PagerConfig.PageLayout.DOUBLE_PAGES -> true + PagerConfig.PageLayout.AUTOMATIC -> + resources.configuration.orientation == + Configuration.ORIENTATION_LANDSCAPE + else -> false + }, true, ) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt index 0df8deb850..c18163cc0f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt @@ -134,7 +134,7 @@ class ReaderViewModel @JvmOverloads constructor( private val getMergedMangaById: GetMergedMangaById = Injekt.get(), private val getMergedReferencesById: GetMergedReferencesById = Injekt.get(), private val getMergedChaptersByMangaId: GetMergedChaptersByMangaId = Injekt.get(), - private val setReadStatus: SetReadStatus = Injekt.get() + private val setReadStatus: SetReadStatus = Injekt.get(), // SY <-- ) : ViewModel() { @@ -189,8 +189,9 @@ class ReaderViewModel @JvmOverloads constructor( // SY --> val (chapters, mangaMap) = runBlocking { if (manga.source == MERGED_SOURCE_ID) { - getMergedChaptersByMangaId.await(manga.id, applyScanlatorFilter = true) to getMergedMangaById.await(manga.id) - .associateBy { it.id } + getMergedChaptersByMangaId.await(manga.id, applyScanlatorFilter = true) to + getMergedMangaById.await(manga.id) + .associateBy { it.id } } else { getChaptersByMangaId.await(manga.id, applyScanlatorFilter = true) to null } @@ -709,7 +710,7 @@ class ReaderViewModel @JvmOverloads constructor( .ifEmpty { null } ?.also { setReadStatus.await(true, *it.toTypedArray()) - it.forEach { chapter -> + it.forEach { chapter -> deleteChapterIfNeeded(ReaderChapter(chapter)) } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt index 3c60b1a020..1b15d8ea94 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt @@ -62,9 +62,11 @@ class ChapterLoader( // If the chapter is partially read, set the starting page to the last the user read // otherwise use the requested page. - if (!chapter.chapter.read /* --> EH */ || readerPrefs + if (!chapter.chapter.read /* --> EH */ || + readerPrefs .preserveReadingPosition() - .get() || page != null // <-- EH + .get() || + page != null // <-- EH ) { chapter.requestedPage = /* SY --> */ page ?: /* SY <-- */ chapter.chapter.last_page_read } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt index af72bc0b0b..5bace4ac8d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt @@ -285,7 +285,7 @@ class ReaderPreferences( val archiveModeTypes = listOf( SYMR.strings.archive_mode_load_from_file, SYMR.strings.archive_mode_load_into_memory, - SYMR.strings.archive_mode_cache_to_disk + SYMR.strings.archive_mode_cache_to_disk, ) // SY <-- } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReadingMode.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReadingMode.kt index 91ca460974..9fa2ab7f74 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReadingMode.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReadingMode.kt @@ -71,7 +71,7 @@ enum class ReadingMode( preference: Int?, activity: ReaderActivity, // KMK --> - @ColorInt seedColor: Int? + @ColorInt seedColor: Int?, // KMK <-- ): Viewer { return when (fromPreference(preference)) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt index ddbe348bdc..1041a6232f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt @@ -116,7 +116,12 @@ open class ReaderPageImageView @JvmOverloads constructor( } private fun SubsamplingScaleImageView.landscapeZoom(forward: Boolean) { - if (config != null && config!!.landscapeZoom && config!!.minimumScaleType == SCALE_TYPE_CENTER_INSIDE && sWidth > sHeight && scale == minScale) { + if (config != null && + config!!.landscapeZoom && + config!!.minimumScaleType == SCALE_TYPE_CENTER_INSIDE && + sWidth > sHeight && + scale == minScale + ) { handler?.postDelayed(500) { val point = when (config!!.zoomStartPosition) { ZoomStartPosition.LEFT -> if (forward) PointF(0F, 0F) else PointF(sWidth.toFloat(), 0F) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderProgressIndicator.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderProgressIndicator.kt index 56a5796d68..3f8e77ef76 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderProgressIndicator.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderProgressIndicator.kt @@ -52,7 +52,7 @@ class ReaderProgressIndicator @JvmOverloads constructor( // KMK <-- TachiyomiTheme( // KMK --> - seedColor = seedColor?.let { Color(seedColor) }.takeIf { themeCoverBased } + seedColor = seedColor?.let { Color(seedColor) }.takeIf { themeCoverBased }, // KMK <-- ) { CombinedCircularProgressIndicator(progress = { progress }) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderTransitionView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderTransitionView.kt index 19e06af08e..4cc5a61dbd 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderTransitionView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderTransitionView.kt @@ -68,7 +68,7 @@ class ReaderTransitionView @JvmOverloads constructor( // KMK <-- TachiyomiTheme( // KMK --> - seedColor = seedColor?.let { Color(seedColor) }.takeIf { themeCoverBased } + seedColor = seedColor?.let { Color(seedColor) }.takeIf { themeCoverBased }, // KMK <-- ) { CompositionLocalProvider( diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt index 480fa12ad5..e669e44710 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt @@ -57,7 +57,8 @@ class PagerConfig( var shiftDoublePage = false - var doublePages = readerPreferences.pageLayout().get() == PageLayout.DOUBLE_PAGES && !readerPreferences.dualPageSplitPaged().get() + var doublePages = + readerPreferences.pageLayout().get() == PageLayout.DOUBLE_PAGES && !readerPreferences.dualPageSplitPaged().get() set(value) { field = value if (!value) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt index fe639f5601..e5cb0bdf72 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt @@ -318,9 +318,9 @@ class PagerPageHolder( private fun handleWideImage(imageSource: BufferedSource): BufferedSource { return if ( !ImageUtil.isAnimatedAndSupported(imageSource) && - ImageUtil.isWideImage(imageSource) && - viewer.config.centerMarginType and PagerConfig.CenterMarginType.WIDE_PAGE_CENTER_MARGIN > 0 && - !viewer.config.imageCropBorders + ImageUtil.isWideImage(imageSource) && + viewer.config.centerMarginType and PagerConfig.CenterMarginType.WIDE_PAGE_CENTER_MARGIN > 0 && + !viewer.config.imageCropBorders ) { ImageUtil.addHorizontalCenterMargin(imageSource, height, context) } else { @@ -338,7 +338,9 @@ class PagerPageHolder( } private fun calculateCenterMargin(height: Int, height2: Int): Int { - return if (viewer.config.centerMarginType and PagerConfig.CenterMarginType.DOUBLE_PAGE_CENTER_MARGIN > 0 && !viewer.config.imageCropBorders) { + return if (viewer.config.centerMarginType and PagerConfig.CenterMarginType.DOUBLE_PAGE_CENTER_MARGIN > 0 && + !viewer.config.imageCropBorders + ) { 96 / (this.height.coerceAtLeast(1) / max(height, height2).coerceAtLeast(1)).coerceAtLeast(1) } else { 0 @@ -381,8 +383,10 @@ class PagerPageHolder( } } - val sideMargin = if ((viewer.config.centerMarginType and PagerConfig.CenterMarginType.DOUBLE_PAGE_CENTER_MARGIN) > 0 && - viewer.config.doublePages && !viewer.config.imageCropBorders + val sideMargin = if ((viewer.config.centerMarginType and PagerConfig.CenterMarginType.DOUBLE_PAGE_CENTER_MARGIN) > + 0 && + viewer.config.doublePages && + !viewer.config.imageCropBorders ) { 48 } else { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt index ee2b2ca076..945a20c8cc 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt @@ -302,7 +302,9 @@ abstract class PagerViewer( * Sets the active [chapters] on this pager. */ private fun setChaptersInternal(chapters: ViewerChapters) { - val forceTransition = config.alwaysShowChapterTransition || adapter.joinedItems.getOrNull(pager.currentItem)?.first is ChapterTransition + val forceTransition = + config.alwaysShowChapterTransition || + adapter.joinedItems.getOrNull(pager.currentItem)?.first is ChapterTransition adapter.setChapters(chapters, forceTransition) // Layout the pager once a chapter is being set diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewerAdapter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewerAdapter.kt index fef144850e..96191e8df5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewerAdapter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewerAdapter.kt @@ -271,7 +271,9 @@ class PagerViewerAdapter( subItems.forEach { readerItem -> when (readerItem) { is ReaderPage -> { - if (pagedItems.last().isNotEmpty() && pagedItems.last().last()?.chapter?.chapter?.id != readerItem.chapter.chapter.id) { + if (pagedItems.last().isNotEmpty() && + pagedItems.last().last()?.chapter?.chapter?.id != readerItem.chapter.chapter.id + ) { pagedItems.add(mutableListOf()) } pagedItems.last().add(readerItem) @@ -321,9 +323,10 @@ class PagerViewerAdapter( // Add a 'blank' page after each full page. It will be used when chunked to solo a page items.add(itemIndex + 1, null) if ( - currentItem.fullPage && itemIndex > 0 && - items[itemIndex - 1] != null && - (itemIndex - 1) % 2 == 0 + currentItem.fullPage && + itemIndex > 0 && + items[itemIndex - 1] != null && + (itemIndex - 1) % 2 == 0 ) { // If a page is a full page, check if the previous page needs to be isolated // we should check if it's an even or odd page, since even pages need shifting @@ -363,7 +366,8 @@ class PagerViewerAdapter( // We will however shift to the first page of the new chapter if the last page we were are // on is not in the new chapter that has loaded val newPage = when { - oldCurrent?.first is ReaderPage && (oldCurrent.first as ReaderPage).chapter != currentChapter && + oldCurrent?.first is ReaderPage && + (oldCurrent.first as ReaderPage).chapter != currentChapter && (oldCurrent.second as? ChapterTransition)?.from != currentChapter -> subItems.find { it is ReaderPage && it.chapter == currentChapter } useSecondPage -> oldCurrent?.second ?: oldCurrent?.first @@ -372,7 +376,10 @@ class PagerViewerAdapter( val index = when (newPage) { is ChapterTransition -> { - val filteredPages = joinedItems.filter { it.first is ReaderPage && (it.first as ReaderPage).chapter == newPage.to } + val filteredPages = joinedItems.filter { + it.first is ReaderPage && + (it.first as ReaderPage).chapter == newPage.to + } val page = if (newPage is ChapterTransition.Next) { filteredPages.minByOrNull { (it.first as ReaderPage).index }?.first } else { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt index ec5bd94453..0e69c29dca 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt @@ -203,7 +203,9 @@ class WebtoonPageHolder( ReaderPageImageView.Config( zoomDuration = viewer.config.doubleTapAnimDuration, minimumScaleType = SubsamplingScaleImageView.SCALE_TYPE_FIT_WIDTH, - cropBorders = (viewer.config.imageCropBorders && viewer.isContinuous) || (viewer.config.continuousCropBorders && !viewer.isContinuous), + cropBorders = + (viewer.config.imageCropBorders && viewer.isContinuous) || + (viewer.config.continuousCropBorders && !viewer.isContinuous), ), ) removeErrorLayout() diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/system/NotificationExtensions.kt b/app/src/main/java/eu/kanade/tachiyomi/util/system/NotificationExtensions.kt index 8038f6115b..a1942a73e4 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/system/NotificationExtensions.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/system/NotificationExtensions.kt @@ -23,7 +23,10 @@ fun Context.notify(id: Int, channelId: String, block: (NotificationCompat.Builde } fun Context.notify(id: Int, notification: Notification) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && PermissionChecker.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PermissionChecker.PERMISSION_GRANTED) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && + PermissionChecker.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != + PermissionChecker.PERMISSION_GRANTED + ) { return } @@ -31,7 +34,10 @@ fun Context.notify(id: Int, notification: Notification) { } fun Context.notify(notificationWithIdAndTags: List) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && PermissionChecker.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PermissionChecker.PERMISSION_GRANTED) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && + PermissionChecker.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != + PermissionChecker.PERMISSION_GRANTED + ) { return } diff --git a/app/src/main/java/exh/GalleryAdder.kt b/app/src/main/java/exh/GalleryAdder.kt index 26e5db978f..1f035ecb5f 100644 --- a/app/src/main/java/exh/GalleryAdder.kt +++ b/app/src/main/java/exh/GalleryAdder.kt @@ -46,11 +46,13 @@ class GalleryAdder( return sourceManager.getVisibleCatalogueSources() .mapNotNull { it.getMainSource() } .filter { - it.lang in filters.enabledLangs && it.id !in filters.disabledSources && try { - it.matchesUri(uri) - } catch (e: Exception) { - false - } + it.lang in filters.enabledLangs && + it.id !in filters.disabledSources && + try { + it.matchesUri(uri) + } catch (e: Exception) { + false + } } } @@ -82,11 +84,13 @@ class GalleryAdder( sourceManager.getVisibleCatalogueSources() .mapNotNull { it.getMainSource() } .find { - it.lang in filters.enabledLangs && it.id !in filters.disabledSources && try { - it.matchesUri(uri) - } catch (e: Exception) { - false - } + it.lang in filters.enabledLangs && + it.id !in filters.disabledSources && + try { + it.matchesUri(uri) + } catch (e: Exception) { + false + } } ?: return GalleryAddEvent.Fail.UnknownSource(url, context) } diff --git a/app/src/main/java/exh/assets/__EhAssets.kt b/app/src/main/java/exh/assets/__EhAssets.kt index 535a752c24..3bd8e16bd4 100644 --- a/app/src/main/java/exh/assets/__EhAssets.kt +++ b/app/src/main/java/exh/assets/__EhAssets.kt @@ -9,6 +9,7 @@ import kotlin.collections.List as ____KtList public object EhAssets +@Suppress("ObjectPropertyName", "ktlint:standard:backing-property-naming") private var __AllAssets: ____KtList? = null public val EhAssets.AllAssets: ____KtList diff --git a/app/src/main/java/exh/assets/ehassets/EhLogo.kt b/app/src/main/java/exh/assets/ehassets/EhLogo.kt index df086854a9..308486da1b 100644 --- a/app/src/main/java/exh/assets/ehassets/EhLogo.kt +++ b/app/src/main/java/exh/assets/ehassets/EhLogo.kt @@ -165,4 +165,5 @@ public val EhAssets.EhLogo: ImageVector return _ehLogo!! } +@Suppress("ObjectPropertyName", "ktlint:standard:backing-property-naming") private var _ehLogo: ImageVector? = null diff --git a/app/src/main/java/exh/assets/ehassets/MangadexLogo.kt b/app/src/main/java/exh/assets/ehassets/MangadexLogo.kt index 4b8af95cd5..875c61b02b 100644 --- a/app/src/main/java/exh/assets/ehassets/MangadexLogo.kt +++ b/app/src/main/java/exh/assets/ehassets/MangadexLogo.kt @@ -427,4 +427,5 @@ public val EhAssets.MangadexLogo: ImageVector return _mangadexLogo!! } +@Suppress("ObjectPropertyName", "ktlint:standard:backing-property-naming") private var _mangadexLogo: ImageVector? = null diff --git a/app/src/main/java/exh/assets/ehassets/__Exh.kt b/app/src/main/java/exh/assets/ehassets/__Exh.kt index 63b7cb6b5c..0e06e51558 100644 --- a/app/src/main/java/exh/assets/ehassets/__Exh.kt +++ b/app/src/main/java/exh/assets/ehassets/__Exh.kt @@ -11,6 +11,7 @@ public object ExhGroup public val EhAssets.Exh: ExhGroup get() = ExhGroup +@Suppress("ObjectPropertyName", "ktlint:standard:backing-property-naming") private var __AllAssets: ____KtList? = null public val ExhGroup.AllAssets: ____KtList diff --git a/app/src/main/java/exh/assets/ehassets/exh/__Assets.kt b/app/src/main/java/exh/assets/ehassets/exh/__Assets.kt index 063319c91a..5d2144bd36 100644 --- a/app/src/main/java/exh/assets/ehassets/exh/__Assets.kt +++ b/app/src/main/java/exh/assets/ehassets/exh/__Assets.kt @@ -11,6 +11,7 @@ public object AssetsGroup public val ExhGroup.Assets: AssetsGroup get() = AssetsGroup +@Suppress("ObjectPropertyName", "ktlint:standard:backing-property-naming") private var __AllAssets: ____KtList? = null public val AssetsGroup.AllAssets: ____KtList diff --git a/app/src/main/java/exh/assets/ehassets/exh/assets/__Ehassets.kt b/app/src/main/java/exh/assets/ehassets/exh/assets/__Ehassets.kt index 80520f2420..add65ef3e5 100644 --- a/app/src/main/java/exh/assets/ehassets/exh/assets/__Ehassets.kt +++ b/app/src/main/java/exh/assets/ehassets/exh/assets/__Ehassets.kt @@ -9,6 +9,7 @@ public object EhassetsGroup public val AssetsGroup.Ehassets: EhassetsGroup get() = EhassetsGroup +@Suppress("ObjectPropertyName", "ktlint:standard:backing-property-naming") private var __AllAssets: ____KtList? = null public val EhassetsGroup.AllAssets: ____KtList diff --git a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt index e9a3908ca9..c8dfb4461a 100644 --- a/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt +++ b/app/src/main/java/exh/eh/EHentaiUpdateWorker.kt @@ -88,7 +88,12 @@ class EHentaiUpdateWorker(private val context: Context, workerParams: WorkerPara val raisedMeta = meta.raise() // Don't update galleries too frequently - if (raisedMeta.aged || (curTime - raisedMeta.lastUpdateCheck < MIN_BACKGROUND_UPDATE_FREQ && DebugToggles.RESTRICT_EXH_GALLERY_UPDATE_CHECK_FREQUENCY.enabled)) { + if (raisedMeta.aged || + ( + curTime - raisedMeta.lastUpdateCheck < MIN_BACKGROUND_UPDATE_FREQ && + DebugToggles.RESTRICT_EXH_GALLERY_UPDATE_CHECK_FREQUENCY.enabled + ) + ) { return@mapNotNull null } diff --git a/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt b/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt index 906e04b055..6b4c4cc339 100644 --- a/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt +++ b/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt @@ -96,7 +96,8 @@ class FavoritesSyncHelper(val context: Context) { } // Validate library state - status.value = FavoritesSyncStatus.Processing(context.stringResource(SYMR.strings.favorites_sync_verifying_library)) + status.value = + FavoritesSyncStatus.Processing(context.stringResource(SYMR.strings.favorites_sync_verifying_library)) val libraryManga = getLibraryManga.await() val seenManga = HashSet(libraryManga.size) libraryManga.forEach { (manga) -> @@ -116,10 +117,12 @@ class FavoritesSyncHelper(val context: Context) { // Download remote favorites val favorites = try { - status.value = FavoritesSyncStatus.Processing(context.stringResource(SYMR.strings.favorites_sync_downloading)) + status.value = + FavoritesSyncStatus.Processing(context.stringResource(SYMR.strings.favorites_sync_downloading)) exh.fetchFavorites() } catch (e: Exception) { - status.value = FavoritesSyncStatus.Error(context.stringResource(SYMR.strings.favorites_sync_failed_to_featch)) + status.value = + FavoritesSyncStatus.Error(context.stringResource(SYMR.strings.favorites_sync_failed_to_featch)) logger.e(context.stringResource(SYMR.strings.favorites_sync_could_not_fetch), e) return } @@ -179,7 +182,8 @@ class FavoritesSyncHelper(val context: Context) { applyChangeSetToRemote(errorList, localChanges) } - status.value = FavoritesSyncStatus.Processing(context.stringResource(SYMR.strings.favorites_sync_cleaning_up)) + status.value = + FavoritesSyncStatus.Processing(context.stringResource(SYMR.strings.favorites_sync_cleaning_up)) storage.snapshotEntries() withUIContext { diff --git a/app/src/main/java/exh/favorites/LocalFavoritesStorage.kt b/app/src/main/java/exh/favorites/LocalFavoritesStorage.kt index 59fc816db4..652e399805 100644 --- a/app/src/main/java/exh/favorites/LocalFavoritesStorage.kt +++ b/app/src/main/java/exh/favorites/LocalFavoritesStorage.kt @@ -88,7 +88,14 @@ class LocalFavoritesStorage( private fun FavoriteEntry.urlEquals(other: FavoriteEntry) = (gid == other.gid && token == other.token) || (otherGid != null && otherToken != null && (otherGid == other.gid && otherToken == other.token)) || (other.otherGid != null && other.otherToken != null && (gid == other.otherGid && token == other.otherToken)) || - (otherGid != null && otherToken != null && other.otherGid != null && other.otherToken != null && otherGid == other.otherGid && otherToken == other.otherToken) + ( + otherGid != null && + otherToken != null && + other.otherGid != null && + other.otherToken != null && + otherGid == other.otherGid && + otherToken == other.otherToken + ) private fun queryListForEntry(list: List, entry: FavoriteEntry) = list.find { it.urlEquals(entry) && it.category == entry.category } diff --git a/app/src/main/java/exh/log/EnhancedFilePrinter.kt b/app/src/main/java/exh/log/EnhancedFilePrinter.kt index bf960ed296..ab4deb6faa 100644 --- a/app/src/main/java/exh/log/EnhancedFilePrinter.kt +++ b/app/src/main/java/exh/log/EnhancedFilePrinter.kt @@ -60,7 +60,14 @@ class EnhancedFilePrinter internal constructor( val lastFileName = writer.lastFileName if (fileNameGenerator.isFileNameChangeable) { val newFileName = fileNameGenerator.generateFileName(logLevel, System.currentTimeMillis()) - require(!(newFileName == null || newFileName.trim { it <= ' ' }.isEmpty())) { "File name should not be empty." } + require( + !( + newFileName == null || + newFileName.trim { + it <= ' ' + }.isEmpty() + ), + ) { "File name should not be empty." } if (newFileName != lastFileName) { if (writer.isOpened) { writer.close() diff --git a/app/src/main/java/exh/md/follows/MangaDexFollowsScreen.kt b/app/src/main/java/exh/md/follows/MangaDexFollowsScreen.kt index a1a063cf74..b163a710d6 100644 --- a/app/src/main/java/exh/md/follows/MangaDexFollowsScreen.kt +++ b/app/src/main/java/exh/md/follows/MangaDexFollowsScreen.kt @@ -133,7 +133,7 @@ class MangaDexFollowsScreen(private val sourceId: Long) : Screen() { val duplicateManga = screenModel.getDuplicateLibraryManga(manga) when { manga.favorite -> screenModel.setDialog( - BrowseSourceScreenModel.Dialog.RemoveManga(manga) + BrowseSourceScreenModel.Dialog.RemoveManga(manga), ) duplicateManga != null -> screenModel.setDialog( BrowseSourceScreenModel.Dialog.AddDuplicateManga( @@ -169,7 +169,7 @@ class MangaDexFollowsScreen(private val sourceId: Long) : Screen() { dialog.duplicate.id, dialog.manga.id, ) - } + }, ) } is BrowseSourceScreenModel.Dialog.RemoveManga -> { diff --git a/app/src/main/java/exh/md/handlers/ApiMangaParser.kt b/app/src/main/java/exh/md/handlers/ApiMangaParser.kt index 6b76315512..6b3ebe6468 100644 --- a/app/src/main/java/exh/md/handlers/ApiMangaParser.kt +++ b/app/src/main/java/exh/md/handlers/ApiMangaParser.kt @@ -131,10 +131,14 @@ class ApiMangaParser( // things that will go with the genre tags but aren't actually genre val nonGenres = listOfNotNull( mangaAttributesDto.publicationDemographic - ?.let { RaisedTag("Demographic", it.capitalize(Locale.US), MangaDexSearchMetadata.TAG_TYPE_DEFAULT) }, + ?.let { + RaisedTag("Demographic", it.capitalize(Locale.US), MangaDexSearchMetadata.TAG_TYPE_DEFAULT) + }, mangaAttributesDto.contentRating ?.takeUnless { it == "safe" } - ?.let { RaisedTag("Content Rating", it.capitalize(Locale.US), MangaDexSearchMetadata.TAG_TYPE_DEFAULT) }, + ?.let { + RaisedTag("Content Rating", it.capitalize(Locale.US), MangaDexSearchMetadata.TAG_TYPE_DEFAULT) + }, ) val genres = nonGenres + mangaAttributesDto.tags diff --git a/app/src/main/java/exh/md/handlers/NamicomiHandler.kt b/app/src/main/java/exh/md/handlers/NamicomiHandler.kt index 41e098cf45..d8b6c24698 100644 --- a/app/src/main/java/exh/md/handlers/NamicomiHandler.kt +++ b/app/src/main/java/exh/md/handlers/NamicomiHandler.kt @@ -36,7 +36,7 @@ class NamicomiHandler(currentClient: OkHttpClient, userAgent: String) { val hash = data.jsonObject["hash"]!!.jsonPrimitive.content /* Available quality levels: source, high, medium, low */ - val quality = if(dataSaver) "low" else "high" + val quality = if (dataSaver) "low" else "high" return data .jsonObject[quality]!! diff --git a/app/src/main/java/exh/md/utils/MdUtil.kt b/app/src/main/java/exh/md/utils/MdUtil.kt index 40aa8360f4..e8fccd2644 100644 --- a/app/src/main/java/exh/md/utils/MdUtil.kt +++ b/app/src/main/java/exh/md/utils/MdUtil.kt @@ -15,7 +15,6 @@ import exh.source.getMainSource import exh.util.dropBlank import exh.util.floor import exh.util.nullIfZero -import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import okhttp3.FormBody diff --git a/app/src/main/java/exh/ui/metadata/MetadataViewScreen.kt b/app/src/main/java/exh/ui/metadata/MetadataViewScreen.kt index 5b875baa11..fe8aaeeab3 100644 --- a/app/src/main/java/exh/ui/metadata/MetadataViewScreen.kt +++ b/app/src/main/java/exh/ui/metadata/MetadataViewScreen.kt @@ -60,7 +60,11 @@ class MetadataViewScreen( ) }, ) { paddingValues -> - when (@Suppress("NAME_SHADOWING") val state = state) { + when + ( + @Suppress("NAME_SHADOWING") + val state = state + ) { MetadataViewState.Loading -> LoadingScreen() MetadataViewState.MetadataNotFound -> EmptyScreen(MR.strings.no_results_found) MetadataViewState.SourceNotFound -> EmptyScreen(MR.strings.source_empty_screen) @@ -68,7 +72,8 @@ class MetadataViewScreen( val context = LocalContext.current val items = remember(state.meta) { state.meta.getExtraInfoPairs(context) } ScrollbarLazyColumn( - contentPadding = paddingValues + WindowInsets.navigationBars.asPaddingValues() + topSmallPaddingValues, + contentPadding = + paddingValues + WindowInsets.navigationBars.asPaddingValues() + topSmallPaddingValues, ) { items(items) { (title, text) -> Row( @@ -109,7 +114,7 @@ class MetadataViewScreen( // KMK --> TachiyomiTheme( - seedColor = seedColor?.let { Color(seedColor) }.takeIf { screenModel.themeCoverBased } + seedColor = seedColor?.let { Color(seedColor) }.takeIf { screenModel.themeCoverBased }, ) { // KMK <-- content() diff --git a/app/src/main/java/exh/ui/metadata/adapters/EHentaiDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/EHentaiDescriptionAdapter.kt index 4065e79f0b..8cbde29e4b 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/EHentaiDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/EHentaiDescriptionAdapter.kt @@ -58,7 +58,11 @@ fun EHentaiDescription( ?: meta.genre ?: context.stringResource(MR.strings.unknown) - binding.visible.text = context.stringResource(SYMR.strings.is_visible, meta.visible ?: context.stringResource(MR.strings.unknown)) + binding.visible.text = + context.stringResource( + SYMR.strings.is_visible, + meta.visible ?: context.stringResource(MR.strings.unknown), + ) // KMK --> binding.visible.setTextColor(textColor) // KMK <-- @@ -100,7 +104,8 @@ fun EHentaiDescription( val ratingFloat = meta.averageRating?.toFloat() binding.ratingBar.rating = ratingFloat ?: 0F @SuppressLint("SetTextI18n") - binding.rating.text = (ratingFloat ?: 0F).toString() + " - " + MetadataUIUtil.getRatingString(context, ratingFloat?.times(2)) + binding.rating.text = + (ratingFloat ?: 0F).toString() + " - " + MetadataUIUtil.getRatingString(context, ratingFloat?.times(2)) // KMK --> binding.ratingBar.supportProgressTintList = ColorStateList.valueOf(iconColor) binding.ratingBar.supportSecondaryProgressTintList = ColorStateList.valueOf(ratingBarSecondaryColor) diff --git a/app/src/main/java/exh/ui/metadata/adapters/HBrowseDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/HBrowseDescriptionAdapter.kt index f0dc57cd03..3ba4dccb60 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/HBrowseDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/HBrowseDescriptionAdapter.kt @@ -36,7 +36,8 @@ fun HBrowseDescription(state: State.Success, openMetadataViewer: () -> Unit) { if (meta == null || meta !is HBrowseSearchMetadata) return@AndroidView val binding = DescriptionAdapterHbBinding.bind(it) - binding.pages.text = context.pluralStringResource(SYMR.plurals.num_pages, meta.length ?: 0, meta.length ?: 0) + binding.pages.text = + context.pluralStringResource(SYMR.plurals.num_pages, meta.length ?: 0, meta.length ?: 0) // KMK --> binding.pages.bindDrawable(context, R.drawable.ic_baseline_menu_book_24, iconColor) binding.pages.setTextColor(textColor) diff --git a/app/src/main/java/exh/ui/metadata/adapters/MangaDexDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/MangaDexDescriptionAdapter.kt index c27fecb8bf..5c3e4ca39c 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/MangaDexDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/MangaDexDescriptionAdapter.kt @@ -45,7 +45,8 @@ fun MangaDexDescription(state: State.Success, openMetadataViewer: () -> Unit) { val ratingFloat = meta.rating binding.ratingBar.rating = ratingFloat?.div(2F) ?: 0F @SuppressLint("SetTextI18n") - binding.rating.text = (round((ratingFloat ?: 0F) * 100.0) / 100.0).toString() + " - " + getRatingString(context, ratingFloat) + binding.rating.text = + (round((ratingFloat ?: 0F) * 100.0) / 100.0).toString() + " - " + getRatingString(context, ratingFloat) binding.rating.isVisible = ratingFloat != null binding.ratingBar.isVisible = ratingFloat != null // KMK --> diff --git a/app/src/main/java/exh/ui/metadata/adapters/NHentaiDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/NHentaiDescriptionAdapter.kt index 123989adf1..dfe2d852d4 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/NHentaiDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/NHentaiDescriptionAdapter.kt @@ -70,7 +70,7 @@ fun NHentaiDescription(state: State.Success, openMetadataViewer: () -> Unit) { binding.whenPosted.text = MetadataUtil.EX_DATE_FORMAT .format( ZonedDateTime - .ofInstant(Instant.ofEpochSecond(meta.uploadDate ?: 0), ZoneId.systemDefault()) + .ofInstant(Instant.ofEpochSecond(meta.uploadDate ?: 0), ZoneId.systemDefault()), ) // KMK --> binding.whenPosted.setTextColor(textColor) diff --git a/app/src/main/java/exh/ui/metadata/adapters/PururinDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/PururinDescriptionAdapter.kt index 7e547dc899..54feca6651 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/PururinDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/PururinDescriptionAdapter.kt @@ -42,16 +42,17 @@ fun PururinDescription(state: State.Success, openMetadataViewer: () -> Unit) { if (meta == null || meta !is PururinSearchMetadata) return@AndroidView val binding = DescriptionAdapterPuBinding.bind(it) - binding.genre.text = meta.tags.find { it.namespace == PururinSearchMetadata.TAG_NAMESPACE_CATEGORY }.let { genre -> - genre?.let { tag -> MetadataUIUtil.getGenreAndColour(context, tag.name) } - ?.let { (genre, name) -> - binding.genre.setBackgroundColor(genre.color) - // KMK --> - binding.genre.setTextColor(genreTextColor(genre)) - // KMK <-- - name - } ?: genre?.name ?: context.stringResource(MR.strings.unknown) - } + binding.genre.text = + meta.tags.find { it.namespace == PururinSearchMetadata.TAG_NAMESPACE_CATEGORY }.let { genre -> + genre?.let { tag -> MetadataUIUtil.getGenreAndColour(context, tag.name) } + ?.let { (genre, name) -> + binding.genre.setBackgroundColor(genre.color) + // KMK --> + binding.genre.setTextColor(genreTextColor(genre)) + // KMK <-- + name + } ?: genre?.name ?: context.stringResource(MR.strings.unknown) + } binding.uploader.text = meta.uploaderDisp ?: meta.uploader.orEmpty() // KMK --> @@ -73,7 +74,9 @@ fun PururinDescription(state: State.Success, openMetadataViewer: () -> Unit) { val ratingFloat = meta.averageRating?.toFloat() binding.ratingBar.rating = ratingFloat ?: 0F @SuppressLint("SetTextI18n") - binding.rating.text = (round((ratingFloat ?: 0F) * 100.0) / 100.0).toString() + " - " + MetadataUIUtil.getRatingString(context, ratingFloat?.times(2)) + binding.rating.text = + (round((ratingFloat ?: 0F) * 100.0) / 100.0).toString() + " - " + + MetadataUIUtil.getRatingString(context, ratingFloat?.times(2)) // KMK --> binding.ratingBar.supportProgressTintList = ColorStateList.valueOf(iconColor) binding.ratingBar.supportSecondaryProgressTintList = ColorStateList.valueOf(ratingBarSecondaryColor) diff --git a/app/src/main/java/exh/ui/metadata/adapters/TsuminoDescriptionAdapter.kt b/app/src/main/java/exh/ui/metadata/adapters/TsuminoDescriptionAdapter.kt index e400f034f1..97cdf06811 100644 --- a/app/src/main/java/exh/ui/metadata/adapters/TsuminoDescriptionAdapter.kt +++ b/app/src/main/java/exh/ui/metadata/adapters/TsuminoDescriptionAdapter.kt @@ -68,7 +68,8 @@ fun TsuminoDescription(state: State.Success, openMetadataViewer: () -> Unit) { binding.uploader.setTextColor(textColor) // KMK <-- - binding.pages.text = context.pluralStringResource(SYMR.plurals.num_pages, meta.length ?: 0, meta.length ?: 0) + binding.pages.text = + context.pluralStringResource(SYMR.plurals.num_pages, meta.length ?: 0, meta.length ?: 0) // KMK --> binding.pages.bindDrawable(context, R.drawable.ic_baseline_menu_book_24, iconColor) binding.pages.setTextColor(textColor) @@ -76,7 +77,9 @@ fun TsuminoDescription(state: State.Success, openMetadataViewer: () -> Unit) { binding.ratingBar.rating = meta.averageRating ?: 0F @SuppressLint("SetTextI18n") - binding.rating.text = (round((meta.averageRating ?: 0F) * 100.0) / 100.0).toString() + " - " + MetadataUIUtil.getRatingString(context, meta.averageRating?.times(2)) + binding.rating.text = + (round((meta.averageRating ?: 0F) * 100.0) / 100.0).toString() + " - " + + MetadataUIUtil.getRatingString(context, meta.averageRating?.times(2)) // KMK --> binding.ratingBar.supportProgressTintList = ColorStateList.valueOf(iconColor) binding.ratingBar.supportSecondaryProgressTintList = ColorStateList.valueOf(ratingBarSecondaryColor) diff --git a/app/src/main/java/exh/util/DataSaver.kt b/app/src/main/java/exh/util/DataSaver.kt index f866f142ed..9fa098c02f 100644 --- a/app/src/main/java/exh/util/DataSaver.kt +++ b/app/src/main/java/exh/util/DataSaver.kt @@ -92,20 +92,21 @@ private class WsrvNlDataSaver(preferences: SourcePreferences) : DataSaver { private fun getUrl(imageUrl: String): String { // Network Request sent to wsrv - return "https://wsrv.nl/?url=$imageUrl" + if (imageUrl.contains(".webp", true) || imageUrl.contains(".gif", true)) { - if (!format) { - // Preserve output image extension for animated images(.webp and .gif) - "&q=$quality&n=-1" + return "https://wsrv.nl/?url=$imageUrl" + + if (imageUrl.contains(".webp", true) || imageUrl.contains(".gif", true)) { + if (!format) { + // Preserve output image extension for animated images(.webp and .gif) + "&q=$quality&n=-1" + } else { + // Do not preserve output Extension if User asked to convert into Jpeg + "&output=jpg&q=$quality&n=-1" + } } else { - // Do not preserve output Extension if User asked to convert into Jpeg - "&output=jpg&q=$quality&n=-1" + if (format) { + "&output=jpg&q=$quality" + } else { + "&output=webp&q=$quality" + } } - } else { - if (format) { - "&output=jpg&q=$quality" - } else { - "&output=webp&q=$quality" - } - } } } diff --git a/app/src/main/java/exh/util/ExceptionUtil.kt b/app/src/main/java/exh/util/ExceptionUtil.kt index 3b73328a3e..7e1e18c449 100644 --- a/app/src/main/java/exh/util/ExceptionUtil.kt +++ b/app/src/main/java/exh/util/ExceptionUtil.kt @@ -1,7 +1,11 @@ package exh.util inline fun ignore(expr: () -> T): T? { - return try { expr() } catch (t: Throwable) { null } + return try { + expr() + } catch (t: Throwable) { + null + } } fun T.withRootCause(cause: Throwable): T { diff --git a/app/src/main/java/mihon/core/migration/MigrateUtils.kt b/app/src/main/java/mihon/core/migration/MigrateUtils.kt index 951c4d01c9..d3e6592cd2 100644 --- a/app/src/main/java/mihon/core/migration/MigrateUtils.kt +++ b/app/src/main/java/mihon/core/migration/MigrateUtils.kt @@ -50,4 +50,3 @@ object MigrateUtils { } } } - diff --git a/app/src/main/java/mihon/core/migration/migrations/MergedMangaRewriteMigration.kt b/app/src/main/java/mihon/core/migration/migrations/MergedMangaRewriteMigration.kt index 983bbe3477..6c33d74d7c 100644 --- a/app/src/main/java/mihon/core/migration/migrations/MergedMangaRewriteMigration.kt +++ b/app/src/main/java/mihon/core/migration/migrations/MergedMangaRewriteMigration.kt @@ -134,7 +134,6 @@ class MergedMangaRewriteMigration : Migration { return@withIOContext true } - @Serializable private data class UrlConfig( @SerialName("s") diff --git a/app/src/main/java/mihon/core/migration/migrations/MoveEncryptionSettingsToAppStateMigration.kt b/app/src/main/java/mihon/core/migration/migrations/MoveEncryptionSettingsToAppStateMigration.kt index 1cbaa4a596..c27434c113 100644 --- a/app/src/main/java/mihon/core/migration/migrations/MoveEncryptionSettingsToAppStateMigration.kt +++ b/app/src/main/java/mihon/core/migration/migrations/MoveEncryptionSettingsToAppStateMigration.kt @@ -23,7 +23,7 @@ class MoveEncryptionSettingsToAppStateMigration : Migration { withUIContext { context.toast( "Restart the app to load your encrypted library", - Toast.LENGTH_LONG + Toast.LENGTH_LONG, ) } } diff --git a/core/common/src/main/kotlin/exh/util/StringBuilderExtensions.kt b/core/common/src/main/kotlin/exh/util/StringBuilderExtensions.kt index 664b23d3de..b2cbca698d 100644 --- a/core/common/src/main/kotlin/exh/util/StringBuilderExtensions.kt +++ b/core/common/src/main/kotlin/exh/util/StringBuilderExtensions.kt @@ -1,3 +1,5 @@ package exh.util -operator fun StringBuilder.plusAssign(other: String) { append(other) } +operator fun StringBuilder.plusAssign(other: String) { + append(other) +} diff --git a/core/common/src/main/kotlin/mihon/core/common/archive/ArchiveInputStream.kt b/core/common/src/main/kotlin/mihon/core/common/archive/ArchiveInputStream.kt index 17c46d6ba3..71c2b5e68f 100644 --- a/core/common/src/main/kotlin/mihon/core/common/archive/ArchiveInputStream.kt +++ b/core/common/src/main/kotlin/mihon/core/common/archive/ArchiveInputStream.kt @@ -77,7 +77,7 @@ class ArchiveInputStream( name, isFile, // SY --> - isEncrypted + isEncrypted, // SY <-- ) } diff --git a/core/common/src/main/kotlin/mihon/core/common/archive/ZipWriter.kt b/core/common/src/main/kotlin/mihon/core/common/archive/ZipWriter.kt index 3b5406d541..df43a88e59 100644 --- a/core/common/src/main/kotlin/mihon/core/common/archive/ZipWriter.kt +++ b/core/common/src/main/kotlin/mihon/core/common/archive/ZipWriter.kt @@ -25,7 +25,7 @@ class ZipWriter( private val entry = ArchiveEntry.new2(archive) private val buffer = ByteBuffer.allocateDirect( // SY --> - BUFFER_SIZE + BUFFER_SIZE, // SY <-- ) diff --git a/core/common/src/main/kotlin/tachiyomi/core/common/util/system/ImageUtil.kt b/core/common/src/main/kotlin/tachiyomi/core/common/util/system/ImageUtil.kt index f6cf05dcb0..9f3ed14f97 100644 --- a/core/common/src/main/kotlin/tachiyomi/core/common/util/system/ImageUtil.kt +++ b/core/common/src/main/kotlin/tachiyomi/core/common/util/system/ImageUtil.kt @@ -210,7 +210,11 @@ object ImageUtil { * new image with added center padding scaled relative to the height of the display view * to compensate for scaling. */ - fun addHorizontalCenterMargin(imageSource: BufferedSource, viewHeight: Int, backgroundContext: Context): BufferedSource { + fun addHorizontalCenterMargin( + imageSource: BufferedSource, + viewHeight: Int, + backgroundContext: Context, + ): BufferedSource { val imageBitmap = ImageDecoder.newInstance(imageSource.inputStream())?.decode()!! val height = imageBitmap.height val width = imageBitmap.width diff --git a/data/src/main/java/tachiyomi/data/chapter/ChapterMapper.kt b/data/src/main/java/tachiyomi/data/chapter/ChapterMapper.kt index 70980f7ae7..30ca00b5f2 100644 --- a/data/src/main/java/tachiyomi/data/chapter/ChapterMapper.kt +++ b/data/src/main/java/tachiyomi/data/chapter/ChapterMapper.kt @@ -34,6 +34,6 @@ object ChapterMapper { chapterNumber = chapterNumber, scanlator = scanlator, lastModifiedAt = lastModifiedAt, - version = version + version = version, ) } diff --git a/domain/src/main/java/tachiyomi/domain/chapter/interactor/GetMergedChaptersByMangaId.kt b/domain/src/main/java/tachiyomi/domain/chapter/interactor/GetMergedChaptersByMangaId.kt index f1efc61023..4ac4d8225b 100644 --- a/domain/src/main/java/tachiyomi/domain/chapter/interactor/GetMergedChaptersByMangaId.kt +++ b/domain/src/main/java/tachiyomi/domain/chapter/interactor/GetMergedChaptersByMangaId.kt @@ -112,7 +112,8 @@ class GetMergedChaptersByMangaId( if (chapter.isRecognizedNumber) { existingChapterIndex = sortedChapterList.indexOfFirst { // check if the chapter is not already there - it.isRecognizedNumber && it.chapterNumber == chapter.chapterNumber && + it.isRecognizedNumber && + it.chapterNumber == chapter.chapterNumber && // allow multiple chapters of the same number from the same source it.mangaId != chapter.mangaId } diff --git a/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt b/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt index 14190babfd..1bb876ed94 100644 --- a/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt +++ b/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt @@ -28,12 +28,13 @@ class GetApplicationRelease( // KMK --> val releases = service.releaseNotes(arguments.repository) .filter { - !it.preRelease && isNewVersion( - arguments.isPreview, - arguments.commitCount, - arguments.versionName, - it.version - ) + !it.preRelease && + isNewVersion( + arguments.isPreview, + arguments.commitCount, + arguments.versionName, + it.version, + ) } val latest = releases.getLatest() ?: return Result.NoNewUpdate @@ -66,7 +67,7 @@ class GetApplicationRelease( info = releases.joinToString("\r---\r") { "## ${it.version}\r\r" + it.info.replace(checksumRegex, "") - } + }, ) if (release == null) return Result.NoNewUpdate return Result.NewUpdate(release) @@ -154,7 +155,7 @@ internal fun List.getLatest(): Release? { info = joinToString("\r---\r") { "## ${it.version}\r\r" + it.info.replace(checksumRegex, "") - } + }, ) } // KMK <-- diff --git a/domain/src/main/java/tachiyomi/domain/track/interactor/IsTrackUnfollowed.kt b/domain/src/main/java/tachiyomi/domain/track/interactor/IsTrackUnfollowed.kt index f67c660036..8789662c11 100644 --- a/domain/src/main/java/tachiyomi/domain/track/interactor/IsTrackUnfollowed.kt +++ b/domain/src/main/java/tachiyomi/domain/track/interactor/IsTrackUnfollowed.kt @@ -5,6 +5,8 @@ import tachiyomi.domain.track.model.Track class IsTrackUnfollowed { fun await(track: Track) = - track.trackerId == 60L && // TrackManager.MDLIST - track.status == 0L // FollowStatus.UNFOLLOWED + // TrackManager.MDLIST + track.trackerId == 60L && + // FollowStatus.UNFOLLOWED + track.status == 0L } diff --git a/domain/src/test/java/tachiyomi/domain/release/interactor/GetApplicationReleaseTest.kt b/domain/src/test/java/tachiyomi/domain/release/interactor/GetApplicationReleaseTest.kt index 728dc78ffe..7c573fc31e 100644 --- a/domain/src/test/java/tachiyomi/domain/release/interactor/GetApplicationReleaseTest.kt +++ b/domain/src/test/java/tachiyomi/domain/release/interactor/GetApplicationReleaseTest.kt @@ -41,7 +41,7 @@ class GetApplicationReleaseTest { "info", "http://example.com/release_link", listOf("http://example.com/assets"), - ) + ), ) coEvery { releaseService.releaseNotes(any()) } returns releases @@ -70,7 +70,7 @@ class GetApplicationReleaseTest { "info", "http://example.com/release_link", listOf("http://example.com/assets"), - ) + ), ) coEvery { releaseService.releaseNotes(any()) } returns releases @@ -101,7 +101,7 @@ class GetApplicationReleaseTest { "info", "http://example.com/release_link", listOf("http://example.com/assets"), - ) + ), ) coEvery { releaseService.releaseNotes(any()) } returns releases @@ -131,7 +131,7 @@ class GetApplicationReleaseTest { "info", "http://example.com/release_link", listOf("http://example.com/assets"), - ) + ), ) coEvery { releaseService.releaseNotes(any()) } returns releases @@ -160,7 +160,7 @@ class GetApplicationReleaseTest { "info", "http://example.com/release_link", listOf("http://example.com/assets"), - ) + ), ) coEvery { releaseService.releaseNotes(any()) } returns releases @@ -193,7 +193,7 @@ class GetApplicationReleaseTest { "info", "http://example.com/release_link", listOf("http://example.com/assets"), - ) + ), ) coEvery { releaseService.releaseNotes(any()) } returns releases @@ -222,7 +222,7 @@ class GetApplicationReleaseTest { "info", "http://example.com/release_link", listOf("http://example.com/assets"), - ) + ), ) coEvery { releaseService.releaseNotes(any()) } returns releases @@ -251,7 +251,7 @@ class GetApplicationReleaseTest { "info", "http://example.com/release_link", listOf("http://example.com/assets"), - ) + ), ) coEvery { releaseService.releaseNotes(any()) } returns releases diff --git a/source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/CatalogueSource.kt b/source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/CatalogueSource.kt index 20bbdc8fa3..734e11535d 100644 --- a/source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/CatalogueSource.kt +++ b/source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/CatalogueSource.kt @@ -131,7 +131,7 @@ interface CatalogueSource : Source { } else { throw UnsupportedOperationException( "Extension doesn't support site's related entries," + - " please report an issue to Komikku." + " please report an issue to Komikku.", ) } } diff --git a/source-api/src/commonMain/kotlin/exh/metadata/metadata/EHentaiSearchMetadata.kt b/source-api/src/commonMain/kotlin/exh/metadata/metadata/EHentaiSearchMetadata.kt index 9793f471f6..0474f48ac3 100644 --- a/source-api/src/commonMain/kotlin/exh/metadata/metadata/EHentaiSearchMetadata.kt +++ b/source-api/src/commonMain/kotlin/exh/metadata/metadata/EHentaiSearchMetadata.kt @@ -20,7 +20,9 @@ import java.time.ZonedDateTime class EHentaiSearchMetadata : RaisedSearchMetadata() { var gId: String? get() = indexedExtra - set(value) { indexedExtra = value } + set(value) { + indexedExtra = value + } var gToken: String? = null var exh: Boolean? = null diff --git a/source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt b/source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt index 2dc99470a2..aba2bd4290 100644 --- a/source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt +++ b/source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt @@ -186,8 +186,8 @@ actual class LocalSource( copyComicInfoFile( xml.encodeToString(ComicInfo.serializer(), newComicInfo).byteInputStream(), it, - comicInfoArchiveReader?.encrypted ?: false - ) + comicInfoArchiveReader?.encrypted ?: false, + ) } } // SY <-- diff --git a/source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt b/source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt index 6454336253..116075f96b 100644 --- a/source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt +++ b/source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt @@ -57,7 +57,7 @@ actual class LocalCoverManager( inputStream.use { input -> // SY --> if (encrypted) { - ZipWriter(context, targetFile, encrypt = true ).use { writer -> + ZipWriter(context, targetFile, encrypt = true).use { writer -> writer.write(inputStream.readBytes(), DEFAULT_COVER_NAME) } DiskUtil.createNoMediaFile(directory, context)