From dabea5169b9ac82873649d9c4af9dcbf8f40dcd0 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 6 Apr 2022 14:37:16 -0300 Subject: [PATCH] Fix opening long messages. --- .../viewer/page/StoryViewerPageFragment.kt | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt index a35954b84..61fd106bd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt @@ -335,6 +335,15 @@ class StoryViewerPageFragment : viewModel.setIsFragmentResumed(false) } + override fun onDestroyView() { + super.onDestroyView() + childFragmentManager.fragments.forEach { + if (it is MediaPreviewFragment) { + it.cleanUp() + } + } + } + override fun onFinishForwardAction() = Unit override fun onDismissForwardSheet() { @@ -471,6 +480,10 @@ class StoryViewerPageFragment : return } + if (fragment is MediaPreviewFragment) { + fragment.cleanUp() + } + if (post.content.uri == null) { progressBar.setPosition(index) progressBar.invalidate() @@ -553,7 +566,7 @@ class StoryViewerPageFragment : caption.doOnNextLayout { val maxLines = 5 - if (caption.lineCount > maxLines) { + if (displayBody.isNotEmpty() && caption.lineCount > maxLines) { val lastCharShown = caption.layout.getLineVisibleEnd(maxLines - 1) caption.maxLines = maxLines @@ -576,12 +589,15 @@ class StoryViewerPageFragment : } caption.text = displayBody.substring(0, lastCharShown - offset) + seeMore + } + + if (caption.text.length == displayBody.length) { + caption.setOnClickListener(null) + caption.isClickable = false + } else { caption.setOnClickListener { onShowCaptionOverlay(caption, largeCaption, largeCaptionOverlay) } - } else { - caption.setOnClickListener(null) - caption.isClickable = false } } }