From 3c216e0cb9ff0d12ab76e418fc86b58f41315360 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) (cherry picked from commit cf5e60f8ebb417985e7ae635dcc3e06fea3d6c8c) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt --- .../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 73df10474..e29c915f5 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 @@ -362,8 +362,6 @@ class MangaInfoHeaderAdapter( binding.mangaCover.loadAnyAutoPause(manga) // Manga info section - binding.mangaSummarySection.isVisible = !manga.description.isNullOrBlank() || !manga.genre.isNullOrBlank() - binding.mangaSummarySection.description = manga.description // SY --> binding.mangaSummarySection.setTags( manga.getGenres(), @@ -373,6 +371,8 @@ class MangaInfoHeaderAdapter( source ) // SY <-- + 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 01e18ad3d..8c780f310 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/widget/MangaSummaryView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/widget/MangaSummaryView.kt @@ -72,7 +72,9 @@ class MangaSummaryView @JvmOverloads constructor( doOnNextLayout { updateExpandState() } - requestLayout() + if (!isInLayout) { + requestLayout() + } } } @@ -239,7 +241,10 @@ class MangaSummaryView @JvmOverloads constructor( // SY <-- 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 }