From cf5e60f8ebb417985e7ae635dcc3e06fea3d6c8c Mon Sep 17 00:00:00 2001 From: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com> Date: Sun, 30 Jan 2022 22:47:53 +0700 Subject: [PATCH] MangaSummaryView: Fix incomplete description on tablet ui (#6518) --- .../tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt | 4 ++-- .../java/eu/kanade/tachiyomi/widget/MangaSummaryView.kt | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt index dcb73f0678..816a91d14c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt @@ -290,9 +290,9 @@ class MangaInfoHeaderAdapter( binding.mangaCover.loadAnyAutoPause(manga) // Manga info section - binding.mangaSummarySection.isVisible = !manga.description.isNullOrBlank() || !manga.genre.isNullOrBlank() - binding.mangaSummarySection.description = manga.description binding.mangaSummarySection.setTags(manga.getGenres(), controller::performGenreSearch) + binding.mangaSummarySection.description = manga.description + binding.mangaSummarySection.isVisible = !manga.description.isNullOrBlank() || !manga.genre.isNullOrBlank() } /** diff --git a/app/src/main/java/eu/kanade/tachiyomi/widget/MangaSummaryView.kt b/app/src/main/java/eu/kanade/tachiyomi/widget/MangaSummaryView.kt index 39adc161c8..de98a8d598 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/widget/MangaSummaryView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/widget/MangaSummaryView.kt @@ -59,7 +59,9 @@ class MangaSummaryView @JvmOverloads constructor( doOnNextLayout { updateExpandState() } - requestLayout() + if (!isInLayout) { + requestLayout() + } } } @@ -141,7 +143,10 @@ class MangaSummaryView @JvmOverloads constructor( } override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { - if (!recalculateHeights) { + // Wait until parent view has determined the exact width + // because this affect the description line count + val measureWidthFreely = MeasureSpec.getMode(widthMeasureSpec) != MeasureSpec.EXACTLY + if (!recalculateHeights || measureWidthFreely) { super.onMeasure(widthMeasureSpec, heightMeasureSpec) return }