Minor cleanup

This commit is contained in:
arkon
2021-01-31 10:23:33 -05:00
parent 535abcbb8b
commit d5cfbef42b
5 changed files with 28 additions and 36 deletions
@@ -6,7 +6,6 @@ import android.view.ViewGroup
import eu.kanade.tachiyomi.data.database.models.Category
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.databinding.LibraryCategoryBinding
import eu.kanade.tachiyomi.util.view.inflate
import eu.kanade.tachiyomi.widget.RecyclerViewPagerAdapter
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
@@ -36,7 +35,7 @@ class LibraryAdapter(
/**
* The number of manga in each category.
*/
var mangaCountPerCategory: Map<Int, Int> = emptyMap()
var itemsPerCategory: Map<Int, Int> = emptyMap()
set(value) {
if (field !== value) {
field = value
@@ -97,7 +96,7 @@ class LibraryAdapter(
*/
override fun getPageTitle(position: Int): CharSequence {
if (preferences.categoryNumberOfItems().get()) {
return categories[position].let { "${it.name} (${mangaCountPerCategory[it.id]})" }
return categories[position].let { "${it.name} (${itemsPerCategory[it.id]})" }
}
return categories[position].name
}
@@ -144,27 +144,27 @@ class LibraryController(
}
private fun updateTitle() {
val categoryTabs = preferences.categoryTabs().get()
val showCategoryTabs = preferences.categoryTabs().get()
val currentCategory = adapter?.categories?.getOrNull(binding.libraryPager.currentItem)
if (categoryTabs) {
currentTitle = resources?.getString(R.string.label_library)
var title = if (showCategoryTabs) {
resources?.getString(R.string.label_library)
} else {
currentCategory?.let {
currentTitle = it.name
}
currentCategory?.name
}
if (preferences.categoryNumberOfItems().get() && libraryMangaRelay.hasValue()) {
libraryMangaRelay.value.mangas.let { mangaMap ->
if (!categoryTabs) {
currentTitle += " (${mangaMap[currentCategory?.id]?.size ?: 0})"
if (!showCategoryTabs) {
title += " (${mangaMap[currentCategory?.id]?.size ?: 0})"
} else if (adapter?.categories?.size == 1) {
// special case for if there are no categories
currentTitle += " (${mangaMap[0]?.size ?: 0})"
// Only "Default" category
title += " (${mangaMap[0]?.size ?: 0})"
}
}
}
currentTitle = title
}
override fun createPresenter(): LibraryPresenter {
@@ -289,9 +289,9 @@ class LibraryController(
// Set the categories
adapter.categories = categories
adapter.mangaCountPerCategory = adapter.categories.map {
Pair(it.id ?: -1, mangaMap[it.id]?.size ?: 0)
}.toMap()
adapter.itemsPerCategory = adapter.categories
.map { (it.id ?: -1) to (mangaMap[it.id]?.size ?: 0) }
.toMap()
// Restore active category.
binding.libraryPager.setCurrentItem(activeCat, false)