mirror of
https://github.com/mihonapp/mihon.git
synced 2024-11-21 20:47:03 -05:00
Handle toolbar title in manga details on tablets similar to on phones
This commit is contained in:
parent
b47face2f8
commit
47f865aa72
2 changed files with 16 additions and 15 deletions
|
@ -253,6 +253,15 @@ class MangaController :
|
||||||
// Tablet layout
|
// Tablet layout
|
||||||
binding.infoRecycler?.let {
|
binding.infoRecycler?.let {
|
||||||
it.adapter = mangaInfoAdapter
|
it.adapter = mangaInfoAdapter
|
||||||
|
|
||||||
|
it.scrollEvents()
|
||||||
|
.onEach { updateToolbarTitleAlpha() }
|
||||||
|
.launchIn(viewScope)
|
||||||
|
|
||||||
|
// Delayed in case we need to jump to chapters
|
||||||
|
it.post {
|
||||||
|
updateToolbarTitleAlpha()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
binding.chaptersRecycler?.let {
|
binding.chaptersRecycler?.let {
|
||||||
it.adapter = ConcatAdapter(chaptersHeaderAdapter, chaptersAdapter)
|
it.adapter = ConcatAdapter(chaptersHeaderAdapter, chaptersAdapter)
|
||||||
|
@ -284,19 +293,17 @@ class MangaController :
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateToolbarTitleAlpha(alpha: Int? = null) {
|
private fun updateToolbarTitleAlpha(alpha: Int? = null) {
|
||||||
if (binding.fullRecycler == null) {
|
val scrolledList = binding.fullRecycler ?: binding.infoRecycler!!
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
val calculatedAlpha = when {
|
val calculatedAlpha = when {
|
||||||
// Specific alpha provided
|
// Specific alpha provided
|
||||||
alpha != null -> alpha
|
alpha != null -> alpha
|
||||||
|
|
||||||
// First item isn't in view, full opacity
|
// First item isn't in view, full opacity
|
||||||
((binding.fullRecycler!!.layoutManager as LinearLayoutManager).findFirstVisibleItemPosition() > 0) -> 255
|
((scrolledList.layoutManager as LinearLayoutManager).findFirstVisibleItemPosition() > 0) -> 255
|
||||||
|
|
||||||
// Based on scroll amount when first item is in view
|
// Based on scroll amount when first item is in view
|
||||||
else -> min(binding.fullRecycler!!.computeVerticalScrollOffset(), 255)
|
else -> min(scrolledList.computeVerticalScrollOffset(), 255)
|
||||||
}
|
}
|
||||||
|
|
||||||
(activity as? MainActivity)?.binding?.toolbar?.setTitleTextColor(
|
(activity as? MainActivity)?.binding?.toolbar?.setTitleTextColor(
|
||||||
|
|
|
@ -195,17 +195,11 @@ class MangaInfoHeaderAdapter(
|
||||||
*/
|
*/
|
||||||
private fun setMangaInfo(manga: Manga, source: Source?) {
|
private fun setMangaInfo(manga: Manga, source: Source?) {
|
||||||
// Update full title TextView.
|
// Update full title TextView.
|
||||||
with(binding.mangaFullTitle) {
|
binding.mangaFullTitle.text = if (manga.title.isBlank()) {
|
||||||
if (isTablet) {
|
|
||||||
isVisible = false
|
|
||||||
} else {
|
|
||||||
text = if (manga.title.isBlank()) {
|
|
||||||
view.context.getString(R.string.unknown)
|
view.context.getString(R.string.unknown)
|
||||||
} else {
|
} else {
|
||||||
manga.title
|
manga.title
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update author TextView.
|
// Update author TextView.
|
||||||
binding.mangaAuthor.text = if (manga.author.isNullOrBlank()) {
|
binding.mangaAuthor.text = if (manga.author.isNullOrBlank()) {
|
||||||
|
|
Loading…
Reference in a new issue