diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsFragment.kt b/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsFragment.kt index 5194e53f1..de890e911 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsFragment.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsFragment.kt @@ -81,7 +81,7 @@ class DetailsFragment : BaseFragment(), View.OnClickListener, ChipsView.OnChipClickListener, - OnListItemClickListener, ViewTreeObserver.OnDrawListener { + OnListItemClickListener, ViewTreeObserver.OnDrawListener, View.OnLayoutChangeListener { @Inject lateinit var coil: ImageLoader @@ -105,6 +105,7 @@ class DetailsFragment : binding.buttonScrobblingMore.setOnClickListener(this) binding.buttonRelatedMore.setOnClickListener(this) binding.infoLayout.textViewSource.setOnClickListener(this) + binding.textViewDescription.addOnLayoutChangeListener(this) binding.textViewDescription.viewTreeObserver.addOnDrawListener(this) binding.textViewDescription.movementMethod = LinkMovementMethod.getInstance() binding.chipsTags.onChipClickListener = this @@ -150,6 +151,22 @@ class DetailsFragment : } } + override fun onLayoutChange( + v: View?, + left: Int, + top: Int, + right: Int, + bottom: Int, + oldLeft: Int, + oldTop: Int, + oldRight: Int, + oldBottom: Int + ) { + with(viewBinding ?: return) { + buttonDescriptionMore.isVisible = textViewDescription.isTextTruncated + } + } + private fun onMangaUpdated(manga: Manga) { with(requireViewBinding()) { // Main @@ -228,7 +245,6 @@ class DetailsFragment : } else { tv.text = description } - requireViewBinding().buttonDescriptionMore.isVisible = tv.isTextTruncated } private fun onLocalSizeChanged(size: Long) {