More manga info header tweaks

This commit is contained in:
arkon
2020-06-20 11:41:20 -04:00
parent ce22b2c29a
commit 52e846f3b6
5 changed files with 218 additions and 161 deletions

View File

@ -515,6 +515,9 @@ class MangaInfoChaptersController(private val fromSource: Boolean = false) :
fetchChaptersFromSource()
}
val header = headerAdapter ?: return
header.setNumChapters(chapters.size)
val adapter = chaptersAdapter ?: return
adapter.updateDataSet(chapters)

View File

@ -41,6 +41,7 @@ class MangaInfoHeaderAdapter(
private var manga: Manga? = null
private var source: Source? = null
private var numChapters: Int? = null
private val scope = CoroutineScope(Job() + Dispatchers.Main)
private lateinit var binding: MangaInfoHeaderBinding
@ -71,6 +72,12 @@ class MangaInfoHeaderAdapter(
notifyDataSetChanged()
}
fun setNumChapters(numChapters: Int) {
this.numChapters = numChapters
notifyDataSetChanged()
}
inner class HeaderViewHolder(private val view: View) : RecyclerView.ViewHolder(view) {
fun bind() {
if (manga == null) {
@ -155,6 +162,7 @@ class MangaInfoHeaderAdapter(
.launchIn(scope)
setMangaInfo(manga!!, source)
setChapterInfo()
}
/**
@ -316,5 +324,14 @@ class MangaInfoHeaderAdapter(
isChecked = isFavorite
}
}
private fun setChapterInfo() {
// Chapters heading
binding.chaptersLabel.text = if (numChapters == null) {
view.context.getString(R.string.chapters)
} else {
view.context.resources.getQuantityString(R.plurals.manga_num_chapters, numChapters!!, numChapters)
}
}
}
}