diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListController.kt index 9a741b26ff..d965101746 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListController.kt @@ -263,6 +263,7 @@ class LibraryListController(bundle: Bundle? = null) : LibraryController(bundle), } override fun setSelection(manga: Manga, selected: Boolean) { + val currentMode = adapter.mode if (selected) { if (selectedMangas.add(manga)) { val positions = adapter.allIndexOf(manga) @@ -292,13 +293,18 @@ class LibraryListController(bundle: Bundle? = null) : LibraryController(bundle), } } } - updateHeaders() + updateHeaders(currentMode != adapter.mode) } - fun updateHeaders() { + private fun updateHeaders(changedMode: Boolean = false) { val headerPositions = adapter.getHeaderPositions() headerPositions.forEach { - adapter.notifyItemChanged(it) + if (changedMode) { + adapter.notifyItemChanged(it) + } + else { + (recycler.findViewHolderForAdapterPosition(it) as? LibraryHeaderItem.Holder)?.setSelection() + } } }