From 15cd23822380b0811af592e26affd2f5139d30a0 Mon Sep 17 00:00:00 2001 From: nicki <72807749+curche@users.noreply.github.com> Date: Wed, 1 Sep 2021 03:14:33 +0530 Subject: [PATCH] Trim line breaks in manga info only when collapsed (#5818) * don't trim newlines if summary expanded * move description trim logic to separate function * logic error oops * let's try something * fix bug on first load makes it so that, description text is trimmed when entering manga from library Co-authored-by: Andreas Co-authored-by: Andreas (cherry picked from commit f683f21ee2daf6787e258b852b847582535221c1) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt --- .../ui/manga/info/MangaInfoHeaderAdapter.kt | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 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 57b781c7b..5f504c1f6 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 @@ -376,14 +376,7 @@ class MangaInfoHeaderAdapter( showMangaInfo(hasInfoContent) if (hasInfoContent) { // Update description TextView. - binding.mangaSummaryText.text = if (manga.description.isNullOrBlank()) { - view.context.getString(R.string.unknown) - } else { - // Max lines of 3 with a blank line looks whack so we remove - // any line breaks that is 2 or more and replace it with 1 - manga.description!! - .replace(Regex("[\\r\\n]{2,}", setOf(RegexOption.MULTILINE)), "\n") - } + binding.mangaSummaryText.text = updateDescription(manga.description, (fromSource || isTablet).not()) // SY --> if (manga.description == "meta") { @@ -465,6 +458,8 @@ class MangaInfoHeaderAdapter( binding.mangaSummarySection.transitionToEnd() } + binding.mangaSummaryText.text = updateDescription(manga.description, isCurrentlyExpanded) + binding.mangaSummaryText.maxLines = if (isCurrentlyExpanded) { maxLines } else { @@ -472,6 +467,22 @@ class MangaInfoHeaderAdapter( } } + private fun updateDescription(description: String?, isCurrentlyExpanded: Boolean): CharSequence? { + return if (description.isNullOrBlank()) { + view.context.getString(R.string.unknown) + } else { + // Max lines of 3 with a blank line looks whack so we remove + // any line breaks that is 2 or more and replace it with 1 + // however, don't do this if already expanded because we need those blank lines + if (!isCurrentlyExpanded) { + description + } else { + description + .replace(Regex("[\\r\\n]{2,}", setOf(RegexOption.MULTILINE)), "\n") + } + } + } + private fun setChipsWithNamespace(genre: String?, meta: RaisedSearchMetadata?) { val namespaceTags = when { meta != null -> {