From e0ad9f78aca2dce1417fab8976424c36c5f12250 Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Thu, 24 Nov 2022 15:16:58 -0500 Subject: [PATCH] Improve SY specific change declarations --- .../java/eu/kanade/data/manga/MangaMapper.kt | 2 ++ .../kanade/data/manga/MangaRepositoryImpl.kt | 2 ++ .../domain/manga/repository/MangaRepository.kt | 2 ++ .../eu/kanade/domain/source/model/Source.kt | 2 ++ .../presentation/browse/SourcesScreen.kt | 18 ++++++++++++++++++ .../browse/components/BrowseSourceList.kt | 2 ++ .../category/components/CategoryDialogs.kt | 2 ++ .../kanade/presentation/manga/MangaScreen.kt | 2 ++ .../manga/components/MangaToolbar.kt | 2 ++ .../settings/screen/SettingsBrowseScreen.kt | 4 +--- .../settings/screen/SettingsDownloadScreen.kt | 2 +- .../settings/screen/SettingsSecurityScreen.kt | 2 +- .../data/library/LibraryUpdateService.kt | 4 +++- .../ui/base/controller/DialogController.kt | 1 - .../globalsearch/GlobalSearchController.kt | 5 ----- .../ui/library/LibrarySettingsSheet.kt | 17 +++++++++-------- .../kanade/tachiyomi/ui/manga/MangaScreen.kt | 6 ++++-- app/src/main/sqldelight/data/categories.sq | 2 +- 18 files changed, 54 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/eu/kanade/data/manga/MangaMapper.kt b/app/src/main/java/eu/kanade/data/manga/MangaMapper.kt index 9ecd6c90b..b155018f0 100644 --- a/app/src/main/java/eu/kanade/data/manga/MangaMapper.kt +++ b/app/src/main/java/eu/kanade/data/manga/MangaMapper.kt @@ -55,7 +55,9 @@ val libraryManga: (Long, Long, String, String?, String?, String?, List?, chapterFlags, coverLastModified, dateAdded, + // SY --> filteredScanlators, + // SY <-- updateStrategy, ), category = category, diff --git a/app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt b/app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt index b52f092f0..6bd03dd17 100644 --- a/app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt +++ b/app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt @@ -161,6 +161,7 @@ class MangaRepositoryImpl( } } + // SY --> override suspend fun getMangaBySourceId(sourceId: Long): List { return handler.awaitList { mangasQueries.getBySource(sourceId, mangaMapper) } } @@ -172,4 +173,5 @@ class MangaRepositoryImpl( override suspend fun deleteManga(mangaId: Long) { handler.await { mangasQueries.deleteById(mangaId) } } + // SY <-- } diff --git a/app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt b/app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt index 3d24b5806..c741e70c5 100644 --- a/app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt +++ b/app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt @@ -35,9 +35,11 @@ interface MangaRepository { suspend fun updateAll(mangaUpdates: List): Boolean + // SY --> suspend fun getMangaBySourceId(sourceId: Long): List suspend fun getAll(): List suspend fun deleteManga(mangaId: Long) + // SY <-- } diff --git a/app/src/main/java/eu/kanade/domain/source/model/Source.kt b/app/src/main/java/eu/kanade/domain/source/model/Source.kt index b9b80b4a0..aed55f51f 100644 --- a/app/src/main/java/eu/kanade/domain/source/model/Source.kt +++ b/app/src/main/java/eu/kanade/domain/source/model/Source.kt @@ -38,7 +38,9 @@ data class Source( val key: () -> String = { when { isUsedLast -> "$id-lastused" + // SY --> category != null -> "$id-$category" + // SY <-- else -> "$id" } } 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 18c8de792..9a5124e4a 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt @@ -53,8 +53,10 @@ fun SourcesScreen( onClickItem: (Source, String) -> Unit, onClickDisable: (Source) -> Unit, onClickPin: (Source) -> Unit, + // SY --> onClickSetCategories: (Source, List) -> Unit, onClickToggleDataSaver: (Source) -> Unit, + // SY <-- ) { val context = LocalContext.current when { @@ -70,8 +72,10 @@ fun SourcesScreen( onClickItem = onClickItem, onClickDisable = onClickDisable, onClickPin = onClickPin, + // SY --> onClickSetCategories = onClickSetCategories, onClickToggleDataSaver = onClickToggleDataSaver, + // SY <-- ) } } @@ -93,8 +97,10 @@ private fun SourceList( onClickItem: (Source, String) -> Unit, onClickDisable: (Source) -> Unit, onClickPin: (Source) -> Unit, + // SY --> onClickSetCategories: (Source, List) -> Unit, onClickToggleDataSaver: (Source) -> Unit, + // SY <-- ) { ScrollbarLazyColumn( contentPadding = contentPadding + topSmallPaddingValues, @@ -119,16 +125,22 @@ private fun SourceList( SourceHeader( modifier = Modifier.animateItemPlacement(), language = model.language, + // SY --> isCategory = model.isCategory, + // SY <-- ) } is SourceUiModel.Item -> SourceItem( modifier = Modifier.animateItemPlacement(), source = model.source, + // SY --> showLatest = state.showLatest, showPin = state.showPin, + // SY <-- onClickItem = onClickItem, + // SY --> onLongClickItem = { state.dialog = Dialog.SourceLongClick(it) }, + // SY <-- onClickPin = onClickPin, ) } @@ -179,15 +191,19 @@ private fun SourceList( private fun SourceHeader( modifier: Modifier = Modifier, language: String, + // SY --> isCategory: Boolean, + // SY <-- ) { val context = LocalContext.current Text( + // SY --> text = if (!isCategory) { LocaleHelper.getSourceDisplayName(language, context) } else { language }, + // SY <-- modifier = modifier .padding(horizontal = MaterialTheme.padding.medium, vertical = MaterialTheme.padding.small), style = MaterialTheme.typography.header, @@ -256,8 +272,10 @@ private fun SourceOptionsDialog( source: Source, onClickPin: () -> Unit, onClickDisable: () -> Unit, + // SY --> onClickSetCategories: () -> Unit, onClickToggleDataSaver: () -> Unit, + // SY <-- onDismiss: () -> Unit, ) { AlertDialog( diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt index 08e6868f7..fb3dac2a8 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt @@ -90,6 +90,7 @@ fun BrowseSourceListItem( if (manga.favorite) { Badge(text = stringResource(R.string.in_library)) } + // SY --> if (metadata is MangaDexSearchMetadata) { metadata.followStatus?.let { followStatus -> val text = LocalContext.current @@ -115,6 +116,7 @@ fun BrowseSourceListItem( ) } } + // SY <-- }, onLongClick = onLongClick, onClick = onClick, diff --git a/app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt b/app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt index 375a14bb5..334330bb3 100644 --- a/app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt +++ b/app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt @@ -131,8 +131,10 @@ fun CategoryRenameDialog( fun CategoryDeleteDialog( onDismissRequest: () -> Unit, onDelete: () -> Unit, + // SY --> title: String, text: String, + // SY <-- ) { AlertDialog( onDismissRequest = onDismissRequest, 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 aefb4e5cb..63ad2e724 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt @@ -853,6 +853,7 @@ private fun onChapterItemClick( } } +// SY --> typealias MetadataDescriptionComposable = @Composable (state: MangaScreenState.Success, openMetadataViewer: () -> Unit, search: (String) -> Unit) -> Unit @Composable @@ -885,3 +886,4 @@ fun metadataDescription(source: Source): MetadataDescriptionComposable? { } } } +// SY <-- 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 5b1edc509..30d5c1fb2 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 @@ -147,6 +147,7 @@ fun MangaToolbar( }, ) } + // SY --> if (onClickMerge != null) { DropdownMenuItem( text = { Text(text = stringResource(R.string.merge)) }, @@ -183,6 +184,7 @@ fun MangaToolbar( }, ) } + // SY <-- } } } 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 4c2316ff7..820133a53 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 @@ -43,10 +43,10 @@ class SettingsBrowseScreen : SearchableSettings { val unsortedPreferences = remember { Injekt.get() } // SY <-- return listOf( + // SY --> Preference.PreferenceGroup( title = stringResource(R.string.label_sources), preferenceItems = listOf( - // SY --> kotlin.run { val router = LocalRouter.currentOrThrow val count by sourcePreferences.sourcesTabCategories().collectAsState() @@ -73,10 +73,8 @@ class SettingsBrowseScreen : SearchableSettings { title = stringResource(R.string.pref_local_source_hidden_folders), subtitle = stringResource(R.string.pref_local_source_hidden_folders_summery), ), - // SY <-- ), ), - // SY --> Preference.PreferenceGroup( title = stringResource(R.string.feed), preferenceItems = listOf( diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt index 1b59b2236..e5e42b0a0 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt @@ -247,7 +247,7 @@ class SettingsDownloadScreen : SearchableSettings { if (it == 0) { stringResource(R.string.disabled) } else { - pluralStringResource(R.plurals.next_unread_chapters, count = it, it) + pluralStringResource(id = R.plurals.next_unread_chapters, count = it, it) } }, ), diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt index a43aa57a7..496b09629 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt @@ -77,7 +77,7 @@ class SettingsSecurityScreen : SearchableSettings { when (it) { -1 -> stringResource(R.string.lock_never) 0 -> stringResource(R.string.lock_always) - else -> pluralStringResource(R.plurals.lock_after_mins, count = it, it) + else -> pluralStringResource(id = R.plurals.lock_after_mins, count = it, it) } }, onValueChanged = { diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt index 836f41f5e..2c3486ab8 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt @@ -271,7 +271,7 @@ class LibraryUpdateService( } // Update favorite manga - val categoryId = intent.getLongExtra(KEY_CATEGORY, -1) + val categoryId = intent.getLongExtra(KEY_CATEGORY, -1L) val group = intent.getIntExtra(KEY_GROUP, LibraryGroup.BY_DEFAULT) val groupExtra = intent.getStringExtra(KEY_GROUP_EXTRA) addMangaToQueue(categoryId, group, groupExtra) @@ -406,7 +406,9 @@ class LibraryUpdateService( withIOContext { mangaToUpdate.groupBy { it.manga.source } + // SY --> .filterNot { it.key in LIBRARY_UPDATE_EXCLUDED_SOURCES } + // SY <-- .values .map { mangaInSource -> async { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/DialogController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/DialogController.kt index cd6a3c88b..63f63e1d0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/DialogController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/DialogController.kt @@ -14,7 +14,6 @@ import com.bluelinelabs.conductor.changehandler.SimpleSwapChangeHandler * A controller that displays a dialog window, floating on top of its activity's window. * This is a wrapper over [Dialog] object like [android.app.DialogFragment]. * - * * Implementations should override this class and implement [.onCreateDialog] to create a custom dialog, such as an [android.app.AlertDialog] */ abstract class DialogController : Controller { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt index f8abcb442..f4c8f2862 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt @@ -58,11 +58,6 @@ open class GlobalSearchController( return presenter.query } - /** - * Create the [GlobalSearchPresenter] used in controller. - * - * @return instance of [GlobalSearchPresenter] - */ override fun createPresenter(): GlobalSearchPresenter { return GlobalSearchPresenter(initialQuery, extensionFilter) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt index 0d4a6373b..0aa2e74a6 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt @@ -41,7 +41,10 @@ class LibrarySettingsSheet( val filters: Filter private val sort: Sort private val display: Display + + // SY --> private val grouping: Grouping + // SY <-- val sheetScope = CoroutineScope(Job() + Dispatchers.IO) @@ -55,8 +58,10 @@ class LibrarySettingsSheet( display = Display(router.activity!!) display.onGroupClicked = onGroupClickListener + // SY --> grouping = Grouping(router.activity!!) grouping.onGroupClicked = onGroupClickListener + // SY <-- } /** @@ -75,14 +80,18 @@ class LibrarySettingsSheet( filters, sort, display, + // SY --> grouping, + // SY <-- ) override fun getTabTitles(): List = listOf( R.string.action_filter, R.string.action_sort, R.string.action_display, + // SY --> R.string.group, + // SY <-- ) /** @@ -271,14 +280,6 @@ class LibrarySettingsSheet( (it as Item.MultiStateGroup).state = Item.MultiSort.SORT_NONE } - - item.state = when (prevState) { - Item.MultiSort.SORT_NONE -> Item.MultiSort.SORT_ASC - Item.MultiSort.SORT_ASC -> Item.MultiSort.SORT_DESC - Item.MultiSort.SORT_DESC -> Item.MultiSort.SORT_ASC - else -> throw Exception("Unknown state") - } - item.state = when (prevState) { Item.MultiSort.SORT_NONE -> Item.MultiSort.SORT_ASC Item.MultiSort.SORT_ASC -> Item.MultiSort.SORT_DESC 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 fa6de6d79..773004e66 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 @@ -235,7 +235,9 @@ class MangaScreen( onSortModeChanged = screenModel::setSorting, onDisplayModeChanged = screenModel::setDisplayMode, onSetAsDefault = screenModel::setCurrentSettingsAsDefault, + // SY --> onClickShowScanlatorSelection = { showScanlatorsDialog = true }.takeIf { successState.scanlators.size > 1 }, + // SY <-- ) MangaInfoScreenModel.Dialog.TrackSheet -> { var enableSwipeDismiss by remember { mutableStateOf(true) } @@ -290,6 +292,7 @@ class MangaScreen( LoadingScreen(Modifier.systemBarsPadding()) } } + // SY --> is MangaInfoScreenModel.Dialog.EditMangaInfo -> { EditMangaDialog( manga = dialog.manga, @@ -305,6 +308,7 @@ class MangaScreen( onPositiveClick = screenModel::updateMergeSettings, ) } + // SY <-- } // SY --> if (showScanlatorsDialog) { @@ -451,9 +455,7 @@ class MangaScreen( .setNegativeButton(android.R.string.cancel, null) .show() } - // SY <-- - // SY --> private fun openMorePagePreviews(router: Router, manga: Manga) { router.pushController(PagePreviewController(manga.id)) } diff --git a/app/src/main/sqldelight/data/categories.sq b/app/src/main/sqldelight/data/categories.sq index 628ddc3af..e55c91e43 100644 --- a/app/src/main/sqldelight/data/categories.sq +++ b/app/src/main/sqldelight/data/categories.sq @@ -65,4 +65,4 @@ UPDATE categories SET flags = coalesce(?, flags); selectLastInsertedRowId: -SELECT last_insert_rowid(); +SELECT last_insert_rowid(); \ No newline at end of file