diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationBannerView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationBannerView.kt index 1f3dac79c8..aabac445be 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationBannerView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationBannerView.kt @@ -139,7 +139,7 @@ class ConversationBannerView @JvmOverloads constructor( hide(voiceNotePlayerStub) } - fun showPinnedMessageStub(messages: List, canUnpin: Boolean, hasWallpaper: Boolean) { + fun showPinnedMessageStub(messages: List, canUnpin: Boolean, hasWallpaper: Boolean, shouldAnimate: Boolean) { val firstRender = !pinnedMessageStub.isVisible val view = pinnedMessageStub.get() @@ -158,7 +158,7 @@ class ConversationBannerView @JvmOverloads constructor( } } - if (firstRender) { + if (firstRender && shouldAnimate) { view.visibility = INVISIBLE view.post { view.visible = true @@ -172,6 +172,8 @@ class ConversationBannerView @JvmOverloads constructor( .setDuration(ANIMATION_DURATION) .start() } + } else { + view.visible = true } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt index fc93b0a9c6..6aa63448c2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt @@ -571,6 +571,7 @@ class ConversationFragment : private var scrollListener: ScrollListener? = null private var keyboardEvents: KeyboardEvents? = null private var progressDialog: ProgressCardDialogFragment? = null + private var firstPinRender: Boolean = true private val jumpAndPulseScrollStrategy = object : ScrollToPositionDelegate.ScrollStrategy { override fun performScroll(recyclerView: RecyclerView, layoutManager: LinearLayoutManager, position: Int, smooth: Boolean) { @@ -1354,10 +1355,11 @@ class ConversationFragment : private fun presentPinnedMessage(pinnedMessages: List, hasWallpaper: Boolean) { if (pinnedMessages.isNotEmpty()) { - binding.conversationBanner.showPinnedMessageStub(messages = pinnedMessages, canUnpin = conversationGroupViewModel.canEditGroupInfo(), hasWallpaper = hasWallpaper) + binding.conversationBanner.showPinnedMessageStub(messages = pinnedMessages, canUnpin = conversationGroupViewModel.canEditGroupInfo(), hasWallpaper = hasWallpaper, shouldAnimate = !firstPinRender) } else { binding.conversationBanner.hidePinnedMessageStub() } + firstPinRender = false } private fun presentTypingIndicator() {