UpdatesScreen: Fix selection state after deleting download (#8100)

This commit is contained in:
Ivan Iskandar 2022-09-28 04:44:41 +07:00 committed by GitHub
parent f19c288bec
commit 633bd6eb46
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 4 additions and 3 deletions

View file

@ -196,8 +196,8 @@ private fun UpdateScreenContent(
UpdatesDeleteConfirmationDialog(
onDismissRequest = onDismissDialog,
onConfirm = {
presenter.deleteChapters(dialog.toDelete)
presenter.toggleAllSelection(false)
presenter.deleteChapters(dialog.toDelete)
},
)
}

View file

@ -161,6 +161,7 @@ class MangaController : FullComposeController<MangaPresenter> {
DeleteChaptersDialog(
onDismissRequest = onDismissRequest,
onConfirm = {
presenter.toggleAllSelection(false)
deleteChapters(dialog.chapters)
},
)

View file

@ -646,6 +646,7 @@ class MangaPresenter(
/**
* Deletes the given list of chapter.
*
* @param chapters the list of chapters to delete.
*/
fun deleteChapters(chapters: List<DomainChapter>) {
@ -673,7 +674,6 @@ class MangaPresenter(
}
successState.copy(chapters = newChapters)
}
toggleAllSelection(false)
} catch (e: Throwable) {
logcat(LogPriority.ERROR, e)
}

View file

@ -274,7 +274,7 @@ class UpdatesPresenter(
if (deletedUpdates.isEmpty()) return@launchNonCancellable
// TODO: Don't do this fake status update
state.items = items.toMutableList().apply {
state.items = state.items.toMutableList().apply {
deletedUpdates.forEach { deletedUpdate ->
val modifiedIndex = indexOf(deletedUpdate)
val item = removeAt(modifiedIndex).copy(