fix detekt

This commit is contained in:
Cuong Tran 2024-03-10 07:20:58 +07:00
parent cd016ab29e
commit 55226e3016
No known key found for this signature in database
GPG key ID: 733AA7624B9315C2
18 changed files with 90 additions and 85 deletions

View file

@ -47,14 +47,14 @@ fun GlobalSearchScreen(
Scaffold( Scaffold(
topBar = { scrollBehavior -> topBar = { scrollBehavior ->
// KMK --> // KMK -->
if (bulkFavoriteState.selectionMode) if (bulkFavoriteState.selectionMode) {
SelectionToolbar( SelectionToolbar(
selectedCount = bulkFavoriteState.selection.size, selectedCount = bulkFavoriteState.selection.size,
onClickClearSelection = bulkFavoriteScreenModel::toggleSelectionMode, onClickClearSelection = bulkFavoriteScreenModel::toggleSelectionMode,
onChangeCategoryClicked = bulkFavoriteScreenModel::addFavorite, onChangeCategoryClicked = bulkFavoriteScreenModel::addFavorite,
) )
else } else {
// KMK <-- // KMK <--
GlobalSearchToolbar( GlobalSearchToolbar(
searchQuery = state.searchQuery, searchQuery = state.searchQuery,
progress = state.progress, progress = state.progress,
@ -71,6 +71,7 @@ fun GlobalSearchScreen(
toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode, toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode,
// KMK <-- // KMK <--
) )
}
}, },
) { paddingValues -> ) { paddingValues ->
GlobalSearchContent( GlobalSearchContent(

View file

@ -37,14 +37,14 @@ fun MigrateSearchScreen(
Scaffold( Scaffold(
topBar = { scrollBehavior -> topBar = { scrollBehavior ->
// KMK --> // KMK -->
if (bulkFavoriteState.selectionMode) if (bulkFavoriteState.selectionMode) {
SelectionToolbar( SelectionToolbar(
selectedCount = bulkFavoriteState.selection.size, selectedCount = bulkFavoriteState.selection.size,
onClickClearSelection = bulkFavoriteScreenModel::toggleSelectionMode, onClickClearSelection = bulkFavoriteScreenModel::toggleSelectionMode,
onChangeCategoryClicked = bulkFavoriteScreenModel::addFavorite, onChangeCategoryClicked = bulkFavoriteScreenModel::addFavorite,
) )
else } else {
// KMK <-- // KMK <--
GlobalSearchToolbar( GlobalSearchToolbar(
searchQuery = state.searchQuery, searchQuery = state.searchQuery,
progress = state.progress, progress = state.progress,
@ -58,9 +58,10 @@ fun MigrateSearchScreen(
onToggleResults = onToggleResults, onToggleResults = onToggleResults,
scrollBehavior = scrollBehavior, scrollBehavior = scrollBehavior,
// KMK --> // KMK -->
toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode,
// KMK <-- // KMK <--
) )
}
}, },
) { paddingValues -> ) { paddingValues ->
GlobalSearchContent( GlobalSearchContent(

View file

@ -119,14 +119,14 @@ fun SourceFeedScreen(
Scaffold( Scaffold(
topBar = { scrollBehavior -> topBar = { scrollBehavior ->
// KMK --> // KMK -->
if (bulkFavoriteState.selectionMode) if (bulkFavoriteState.selectionMode) {
SelectionToolbar( SelectionToolbar(
selectedCount = bulkFavoriteState.selection.size, selectedCount = bulkFavoriteState.selection.size,
onClickClearSelection = bulkFavoriteScreenModel::toggleSelectionMode, onClickClearSelection = bulkFavoriteScreenModel::toggleSelectionMode,
onChangeCategoryClicked = bulkFavoriteScreenModel::addFavorite, onChangeCategoryClicked = bulkFavoriteScreenModel::addFavorite,
) )
else } else {
// KMK <-- // KMK <--
SourceFeedToolbar( SourceFeedToolbar(
title = name, title = name,
searchQuery = searchQuery, searchQuery = searchQuery,
@ -138,6 +138,7 @@ fun SourceFeedScreen(
toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode, toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode,
// KMK <-- // KMK <--
) )
}
}, },
floatingActionButton = { floatingActionButton = {
BrowseSourceFloatingActionButton( BrowseSourceFloatingActionButton(

View file

@ -24,8 +24,9 @@ fun SelectionToolbar(
title = stringResource(MR.strings.action_bookmark), title = stringResource(MR.strings.action_bookmark),
icon = Icons.Filled.BookmarkAdd, icon = Icons.Filled.BookmarkAdd,
onClick = { onClick = {
if (selectedCount > 0) if (selectedCount > 0) {
onChangeCategoryClicked() onChangeCategoryClicked()
}
}, },
), ),
), ),

View file

@ -62,13 +62,13 @@ fun TabbedScreen(
val tab = tabs[state.currentPage] val tab = tabs[state.currentPage]
val searchEnabled = tab.searchEnabled val searchEnabled = tab.searchEnabled
// KMK --> // KMK -->
if (bulkFavoriteState.selectionMode) if (bulkFavoriteState.selectionMode) {
SelectionToolbar( SelectionToolbar(
selectedCount = bulkFavoriteState.selection.size, selectedCount = bulkFavoriteState.selection.size,
onClickClearSelection = bulkFavoriteScreenModel::toggleSelectionMode, onClickClearSelection = bulkFavoriteScreenModel::toggleSelectionMode,
onChangeCategoryClicked = bulkFavoriteScreenModel::addFavorite, onChangeCategoryClicked = bulkFavoriteScreenModel::addFavorite,
) )
else } else {
// KMK <-- // KMK <--
SearchToolbar( SearchToolbar(
titleContent = { AppBarTitle(stringResource(titleRes)) }, titleContent = { AppBarTitle(stringResource(titleRes)) },
@ -77,6 +77,7 @@ fun TabbedScreen(
onChangeSearchQuery = onChangeSearchQuery, onChangeSearchQuery = onChangeSearchQuery,
actions = { AppBarActions(tab.actions) }, actions = { AppBarActions(tab.actions) },
) )
}
}, },
snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, snackbarHost = { SnackbarHost(hostState = snackbarHostState) },
) { contentPadding -> ) { contentPadding ->

View file

@ -48,6 +48,7 @@ object CommonMangaItemDefaults {
val GridVerticalSpacer = 4.dp val GridVerticalSpacer = 4.dp
const val BrowseFavoriteCoverAlpha = 0.34f const val BrowseFavoriteCoverAlpha = 0.34f
// KMK --> // KMK -->
const val BrowseSelectedCoverAlpha = 0.17f const val BrowseSelectedCoverAlpha = 0.17f
// KMK <-- // KMK <--

View file

@ -149,7 +149,6 @@ fun AllowDuplicateDialog(
Text(text = stringResource(MR.strings.action_cancel)) Text(text = stringResource(MR.strings.action_cancel))
} }
} }
} }
}, },
) )

View file

@ -80,7 +80,7 @@ data class BrowseTab(
) )
} else if (feedTabInFront) { } else if (feedTabInFront) {
persistentListOf( persistentListOf(
feedTab(/* KMK --> */bulkFavoriteScreenModel/* KMK <-- */), feedTab(bulkFavoriteScreenModel),
sourcesTab(), sourcesTab(),
extensionsTab(extensionsScreenModel), extensionsTab(extensionsScreenModel),
migrateSourceTab(), migrateSourceTab(),
@ -88,7 +88,7 @@ data class BrowseTab(
} else { } else {
persistentListOf( persistentListOf(
sourcesTab(), sourcesTab(),
feedTab(/* KMK --> */bulkFavoriteScreenModel/* KMK <-- */), feedTab(bulkFavoriteScreenModel),
extensionsTab(extensionsScreenModel), extensionsTab(extensionsScreenModel),
migrateSourceTab(), migrateSourceTab(),
) )

View file

@ -35,7 +35,6 @@ import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get import uy.kohesive.injekt.api.get
import java.time.Instant import java.time.Instant
class BulkFavoriteScreenModel( class BulkFavoriteScreenModel(
initialState: State = State(), initialState: State = State(),
private val sourceManager: SourceManager = Injekt.get(), private val sourceManager: SourceManager = Injekt.get(),
@ -54,8 +53,9 @@ class BulkFavoriteScreenModel(
} }
fun toggleSelectionMode() { fun toggleSelectionMode() {
if (state.value.selectionMode) if (state.value.selectionMode) {
clearSelection() clearSelection()
}
mutableState.update { it.copy(selectionMode = !it.selectionMode) } mutableState.update { it.copy(selectionMode = !it.selectionMode) }
} }
@ -74,18 +74,20 @@ class BulkFavoriteScreenModel(
} }
state.copy(selection = newSelection) state.copy(selection = newSelection)
}.also { }.also {
if (state.value.selection.isEmpty()) if (state.value.selection.isEmpty()) {
toggleSelectionMode() toggleSelectionMode()
}
} }
} }
fun addFavorite(startIdx: Int = 0) { fun addFavorite(startIdx: Int = 0) {
screenModelScope.launch { screenModelScope.launch {
val mangaWithDup = getDuplicateLibraryManga(startIdx) val mangaWithDup = getDuplicateLibraryManga(startIdx)
if (mangaWithDup != null) if (mangaWithDup != null) {
setDialog(Dialog.AllowDuplicate(mangaWithDup)) setDialog(Dialog.AllowDuplicate(mangaWithDup))
else } else {
addFavoriteDuplicate() addFavoriteDuplicate()
}
} }
} }
@ -286,14 +288,12 @@ class BulkFavoriteScreenModel(
// Default category set // Default category set
defaultCategory != null -> { defaultCategory != null -> {
moveMangaToCategories(manga, defaultCategory) moveMangaToCategories(manga, defaultCategory)
changeMangaFavorite(manga) changeMangaFavorite(manga)
} }
// Automatic 'Default' or no categories // Automatic 'Default' or no categories
defaultCategoryId == 0 || categories.isEmpty() -> { defaultCategoryId == 0 || categories.isEmpty() -> {
moveMangaToCategories(manga) moveMangaToCategories(manga)
changeMangaFavorite(manga) changeMangaFavorite(manga)
} }
@ -332,7 +332,7 @@ class BulkFavoriteScreenModel(
} }
@Immutable @Immutable
data class State ( data class State(
val dialog: Dialog? = null, val dialog: Dialog? = null,
val selection: PersistentList<Manga> = persistentListOf(), val selection: PersistentList<Manga> = persistentListOf(),
val selectionMode: Boolean = false, val selectionMode: Boolean = false,

View file

@ -129,19 +129,22 @@ fun Screen.feedTab(
onClickDelete = screenModel::openDeleteDialog, onClickDelete = screenModel::openDeleteDialog,
onClickManga = { manga -> onClickManga = { manga ->
// KMK --> // KMK -->
if (bulkFavoriteState.selectionMode) if (bulkFavoriteState.selectionMode) {
bulkFavoriteScreenModel.toggleSelection(manga) bulkFavoriteScreenModel.toggleSelection(manga)
else } else {
// KMK <-- // KMK <--
navigator.push(MangaScreen(manga.id, true)) navigator.push(MangaScreen(manga.id, true))
}
}, },
// KMK --> // KMK -->
onLongClickManga = { manga -> onLongClickManga = { manga ->
if (!bulkFavoriteState.selectionMode) if (!bulkFavoriteState.selectionMode) {
scope.launchIO { scope.launchIO {
val duplicateManga = bulkFavoriteScreenModel.getDuplicateLibraryManga(manga) val duplicateManga = bulkFavoriteScreenModel.getDuplicateLibraryManga(manga)
when { when {
manga.favorite -> bulkFavoriteScreenModel.setDialog(BulkFavoriteScreenModel.Dialog.RemoveManga(manga)) manga.favorite -> bulkFavoriteScreenModel.setDialog(
BulkFavoriteScreenModel.Dialog.RemoveManga(manga)
)
duplicateManga != null -> bulkFavoriteScreenModel.setDialog( duplicateManga != null -> bulkFavoriteScreenModel.setDialog(
BulkFavoriteScreenModel.Dialog.AddDuplicateManga( BulkFavoriteScreenModel.Dialog.AddDuplicateManga(
manga, manga,
@ -152,8 +155,9 @@ fun Screen.feedTab(
} }
haptic.performHapticFeedback(HapticFeedbackType.LongPress) haptic.performHapticFeedback(HapticFeedbackType.LongPress)
} }
else } else {
navigator.push(MangaScreen(manga.id, true)) navigator.push(MangaScreen(manga.id, true))
}
}, },
selection = bulkFavoriteState.selection, selection = bulkFavoriteState.selection,
// KMK <-- // KMK <--
@ -242,9 +246,7 @@ fun Screen.feedTab(
is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> { is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> {
AllowDuplicateDialog( AllowDuplicateDialog(
onDismissRequest = onBulkDismissRequest, onDismissRequest = onBulkDismissRequest,
onAllowAllDuplicate = { onAllowAllDuplicate = bulkFavoriteScreenModel::addFavoriteDuplicate,
bulkFavoriteScreenModel.addFavoriteDuplicate()
},
onSkipAllDuplicate = { onSkipAllDuplicate = {
bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true) bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true)
}, },

View file

@ -89,9 +89,7 @@ class MigrateSearchScreen(private val mangaId: Long, private val validSources: L
is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> { is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> {
AllowDuplicateDialog( AllowDuplicateDialog(
onDismissRequest = onBulkDismissRequest, onDismissRequest = onBulkDismissRequest,
onAllowAllDuplicate = { onAllowAllDuplicate = bulkFavoriteScreenModel::addFavoriteDuplicate,
bulkFavoriteScreenModel.addFavoriteDuplicate()
},
onSkipAllDuplicate = { onSkipAllDuplicate = {
bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true) bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true)
}, },

View file

@ -195,9 +195,7 @@ data class SourceSearchScreen(
is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> { is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> {
AllowDuplicateDialog( AllowDuplicateDialog(
onDismissRequest = onBulkDismissRequest, onDismissRequest = onBulkDismissRequest,
onAllowAllDuplicate = { onAllowAllDuplicate = bulkFavoriteScreenModel::addFavoriteDuplicate,
bulkFavoriteScreenModel.addFavoriteDuplicate()
},
onSkipAllDuplicate = { onSkipAllDuplicate = {
bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true) bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true)
}, },

View file

@ -154,14 +154,14 @@ data class BrowseSourceScreen(
topBar = { topBar = {
Column(modifier = Modifier.background(MaterialTheme.colorScheme.surface)) { Column(modifier = Modifier.background(MaterialTheme.colorScheme.surface)) {
// KMK --> // KMK -->
if (bulkFavoriteState.selectionMode) if (bulkFavoriteState.selectionMode) {
SelectionToolbar( SelectionToolbar(
selectedCount = bulkFavoriteState.selection.size, selectedCount = bulkFavoriteState.selection.size,
onClickClearSelection = bulkFavoriteScreenModel::toggleSelectionMode, onClickClearSelection = bulkFavoriteScreenModel::toggleSelectionMode,
onChangeCategoryClicked = bulkFavoriteScreenModel::addFavorite, onChangeCategoryClicked = bulkFavoriteScreenModel::addFavorite,
) )
else } else {
// KMK <-- // KMK <--
BrowseSourceToolbar( BrowseSourceToolbar(
searchQuery = state.toolbarQuery, searchQuery = state.toolbarQuery,
onSearchQueryChange = screenModel::setToolbarQuery, onSearchQueryChange = screenModel::setToolbarQuery,
@ -174,9 +174,10 @@ data class BrowseSourceScreen(
onSettingsClick = { navigator.push(SourcePreferencesScreen(sourceId)) }, onSettingsClick = { navigator.push(SourcePreferencesScreen(sourceId)) },
onSearch = screenModel::search, onSearch = screenModel::search,
// KMK --> // KMK -->
toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode,
// KMK <-- // KMK <--
) )
}
Row( Row(
modifier = Modifier modifier = Modifier
@ -271,22 +272,25 @@ data class BrowseSourceScreen(
onLocalSourceHelpClick = onHelpClick, onLocalSourceHelpClick = onHelpClick,
onMangaClick = { onMangaClick = {
// KMK --> // KMK -->
if (bulkFavoriteState.selectionMode) if (bulkFavoriteState.selectionMode) {
bulkFavoriteScreenModel.toggleSelection(it) bulkFavoriteScreenModel.toggleSelection(it)
else } else {
// KMK <-- // KMK <--
navigator.push(MangaScreen(it.id, true, smartSearchConfig)) navigator.push(MangaScreen(it.id, true, smartSearchConfig))
}
}, },
onMangaLongClick = { manga -> onMangaLongClick = { manga ->
// KMK --> // KMK -->
if (bulkFavoriteState.selectionMode) if (bulkFavoriteState.selectionMode) {
navigator.push(MangaScreen(manga.id, true)) navigator.push(MangaScreen(manga.id, true))
else } else {
// KMK <-- // KMK <--
scope.launchIO { scope.launchIO {
val duplicateManga = screenModel.getDuplicateLibraryManga(manga) val duplicateManga = screenModel.getDuplicateLibraryManga(manga)
when { when {
manga.favorite -> screenModel.setDialog(BrowseSourceScreenModel.Dialog.RemoveManga(manga)) manga.favorite -> screenModel.setDialog(
BrowseSourceScreenModel.Dialog.RemoveManga(manga)
)
duplicateManga != null -> screenModel.setDialog( duplicateManga != null -> screenModel.setDialog(
BrowseSourceScreenModel.Dialog.AddDuplicateManga( BrowseSourceScreenModel.Dialog.AddDuplicateManga(
manga, manga,
@ -296,7 +300,8 @@ data class BrowseSourceScreen(
else -> screenModel.addFavorite(manga) else -> screenModel.addFavorite(manga)
} }
haptic.performHapticFeedback(HapticFeedbackType.LongPress) haptic.performHapticFeedback(HapticFeedbackType.LongPress)
} }
}
}, },
// KMK --> // KMK -->
selection = bulkFavoriteState.selection, selection = bulkFavoriteState.selection,
@ -405,9 +410,7 @@ data class BrowseSourceScreen(
is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> { is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> {
AllowDuplicateDialog( AllowDuplicateDialog(
onDismissRequest = onBulkDismissRequest, onDismissRequest = onBulkDismissRequest,
onAllowAllDuplicate = { onAllowAllDuplicate = bulkFavoriteScreenModel::addFavoriteDuplicate,
bulkFavoriteScreenModel.addFavoriteDuplicate()
},
onSkipAllDuplicate = { onSkipAllDuplicate = {
bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true) bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true)
}, },

View file

@ -63,11 +63,12 @@ class SourceFeedScreen(val sourceId: Long) : Screen() {
onClickDelete = screenModel::openDeleteFeed, onClickDelete = screenModel::openDeleteFeed,
onClickManga = { onClickManga = {
// KMK --> // KMK -->
if (bulkFavoriteState.selectionMode) if (bulkFavoriteState.selectionMode) {
bulkFavoriteScreenModel.toggleSelection(it) bulkFavoriteScreenModel.toggleSelection(it)
else } else {
// KMK <-- // KMK <--
onMangaClick(navigator, it) onMangaClick(navigator, it)
}
}, },
onClickSearch = { onSearchClick(navigator, screenModel.source, it) }, onClickSearch = { onSearchClick(navigator, screenModel.source, it) },
searchQuery = state.searchQuery, searchQuery = state.searchQuery,
@ -76,11 +77,13 @@ class SourceFeedScreen(val sourceId: Long) : Screen() {
// KMK --> // KMK -->
sourceId = screenModel.source.id, sourceId = screenModel.source.id,
onLongClickManga = { manga -> onLongClickManga = { manga ->
if (!bulkFavoriteState.selectionMode) if (!bulkFavoriteState.selectionMode) {
scope.launchIO { scope.launchIO {
val duplicateManga = bulkFavoriteScreenModel.getDuplicateLibraryManga(manga) val duplicateManga = bulkFavoriteScreenModel.getDuplicateLibraryManga(manga)
when { when {
manga.favorite -> bulkFavoriteScreenModel.setDialog(BulkFavoriteScreenModel.Dialog.RemoveManga(manga)) manga.favorite -> bulkFavoriteScreenModel.setDialog(
BulkFavoriteScreenModel.Dialog.RemoveManga(manga)
)
duplicateManga != null -> bulkFavoriteScreenModel.setDialog( duplicateManga != null -> bulkFavoriteScreenModel.setDialog(
BulkFavoriteScreenModel.Dialog.AddDuplicateManga( BulkFavoriteScreenModel.Dialog.AddDuplicateManga(
manga, manga,
@ -91,8 +94,9 @@ class SourceFeedScreen(val sourceId: Long) : Screen() {
} }
haptic.performHapticFeedback(HapticFeedbackType.LongPress) haptic.performHapticFeedback(HapticFeedbackType.LongPress)
} }
else } else {
navigator.push(MangaScreen(manga.id, true)) navigator.push(MangaScreen(manga.id, true))
}
}, },
bulkFavoriteScreenModel = bulkFavoriteScreenModel, bulkFavoriteScreenModel = bulkFavoriteScreenModel,
// KMK <-- // KMK <--
@ -228,9 +232,7 @@ class SourceFeedScreen(val sourceId: Long) : Screen() {
is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> { is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> {
AllowDuplicateDialog( AllowDuplicateDialog(
onDismissRequest = onBulkDismissRequest, onDismissRequest = onBulkDismissRequest,
onAllowAllDuplicate = { onAllowAllDuplicate = bulkFavoriteScreenModel::addFavoriteDuplicate,
bulkFavoriteScreenModel.addFavoriteDuplicate()
},
onSkipAllDuplicate = { onSkipAllDuplicate = {
bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true) bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true)
}, },
@ -251,13 +253,14 @@ class SourceFeedScreen(val sourceId: Long) : Screen() {
} }
// KMK <-- // KMK <--
BackHandler(state.searchQuery != null/* KMK --> */ || bulkFavoriteState.selectionMode /* KMK <-- */) { BackHandler(state.searchQuery != null || bulkFavoriteState.selectionMode) {
// KMK --> // KMK -->
if(bulkFavoriteState.selectionMode) if (bulkFavoriteState.selectionMode) {
bulkFavoriteScreenModel.backHandler() bulkFavoriteScreenModel.backHandler()
else } else {
// KMK <-- // KMK <--
screenModel.search(null) screenModel.search(null)
}
} }
} }

View file

@ -91,19 +91,22 @@ class GlobalSearchScreen(
}, },
onClickItem = { onClickItem = {
// KMK --> // KMK -->
if (bulkFavoriteState.selectionMode) if (bulkFavoriteState.selectionMode) {
bulkFavoriteScreenModel.toggleSelection(it) bulkFavoriteScreenModel.toggleSelection(it)
else } else {
// KMK <-- // KMK <--
navigator.push(MangaScreen(it.id, true)) navigator.push(MangaScreen(it.id, true))
}
}, },
onLongClickItem = { manga -> onLongClickItem = { manga ->
// KMK --> // KMK -->
if (!bulkFavoriteState.selectionMode) if (!bulkFavoriteState.selectionMode) {
scope.launchIO { scope.launchIO {
val duplicateManga = bulkFavoriteScreenModel.getDuplicateLibraryManga(manga) val duplicateManga = bulkFavoriteScreenModel.getDuplicateLibraryManga(manga)
when { when {
manga.favorite -> bulkFavoriteScreenModel.setDialog(BulkFavoriteScreenModel.Dialog.RemoveManga(manga)) manga.favorite -> bulkFavoriteScreenModel.setDialog(
BulkFavoriteScreenModel.Dialog.RemoveManga(manga)
)
duplicateManga != null -> bulkFavoriteScreenModel.setDialog( duplicateManga != null -> bulkFavoriteScreenModel.setDialog(
BulkFavoriteScreenModel.Dialog.AddDuplicateManga( BulkFavoriteScreenModel.Dialog.AddDuplicateManga(
manga, manga,
@ -114,9 +117,10 @@ class GlobalSearchScreen(
} }
haptic.performHapticFeedback(HapticFeedbackType.LongPress) haptic.performHapticFeedback(HapticFeedbackType.LongPress)
} }
else } else {
// KMK <-- // KMK <--
navigator.push(MangaScreen(manga.id, true)) navigator.push(MangaScreen(manga.id, true))
}
}, },
// KMK --> // KMK -->
bulkFavoriteScreenModel = bulkFavoriteScreenModel, bulkFavoriteScreenModel = bulkFavoriteScreenModel,
@ -167,9 +171,7 @@ class GlobalSearchScreen(
is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> { is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> {
AllowDuplicateDialog( AllowDuplicateDialog(
onDismissRequest = onBulkDismissRequest, onDismissRequest = onBulkDismissRequest,
onAllowAllDuplicate = { onAllowAllDuplicate = bulkFavoriteScreenModel::addFavoriteDuplicate,
bulkFavoriteScreenModel.addFavoriteDuplicate()
},
onSkipAllDuplicate = { onSkipAllDuplicate = {
bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true) bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true)
}, },

View file

@ -185,9 +185,7 @@ class MangaDexFollowsScreen(private val sourceId: Long) : Screen() {
is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> { is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> {
AllowDuplicateDialog( AllowDuplicateDialog(
onDismissRequest = onBulkDismissRequest, onDismissRequest = onBulkDismissRequest,
onAllowAllDuplicate = { onAllowAllDuplicate = bulkFavoriteScreenModel::addFavoriteDuplicate,
bulkFavoriteScreenModel.addFavoriteDuplicate()
},
onSkipAllDuplicate = { onSkipAllDuplicate = {
bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true) bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true)
}, },

View file

@ -180,9 +180,7 @@ class MangaDexSimilarScreen(val mangaId: Long, val sourceId: Long) : Screen() {
is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> { is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> {
AllowDuplicateDialog( AllowDuplicateDialog(
onDismissRequest = onBulkDismissRequest, onDismissRequest = onBulkDismissRequest,
onAllowAllDuplicate = { onAllowAllDuplicate = bulkFavoriteScreenModel::addFavoriteDuplicate,
bulkFavoriteScreenModel.addFavoriteDuplicate()
},
onSkipAllDuplicate = { onSkipAllDuplicate = {
bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true) bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true)
}, },

View file

@ -180,9 +180,7 @@ class RecommendsScreen(val mangaId: Long, val sourceId: Long) : Screen() {
is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> { is BulkFavoriteScreenModel.Dialog.AllowDuplicate -> {
AllowDuplicateDialog( AllowDuplicateDialog(
onDismissRequest = onBulkDismissRequest, onDismissRequest = onBulkDismissRequest,
onAllowAllDuplicate = { onAllowAllDuplicate = bulkFavoriteScreenModel::addFavoriteDuplicate,
bulkFavoriteScreenModel.addFavoriteDuplicate()
},
onSkipAllDuplicate = { onSkipAllDuplicate = {
bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true) bulkFavoriteScreenModel.addFavoriteDuplicate(skipAllDuplicates = true)
}, },