diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemTextOnlyViewHolder.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemTextOnlyViewHolder.kt index 7050f214dc..d971af4ea2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemTextOnlyViewHolder.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemTextOnlyViewHolder.kt @@ -459,17 +459,11 @@ open class V2ConversationItemTextOnlyViewHolder>( } private fun presentFooterExpiry() { - if (shape == V2ConversationItemShape.MessageShape.MIDDLE || shape == V2ConversationItemShape.MessageShape.START) { - binding.footerExpiry.stopAnimation() - binding.footerExpiry.visible = false - return - } - - binding.footerExpiry.setColorFilter(themeDelegate.getFooterTextColor(conversationMessage), PorterDuff.Mode.SRC_IN) - val timer = binding.footerExpiry val record = conversationMessage.messageRecord if (record.expiresIn > 0 && !record.isPending) { + timer.setColorFilter(themeDelegate.getFooterTextColor(conversationMessage), PorterDuff.Mode.SRC_IN) + timer.visible = true timer.setPercentComplete(0f) @@ -484,6 +478,7 @@ open class V2ConversationItemTextOnlyViewHolder>( conversationContext.onStartExpirationTimeout(record) } } else { + timer.stopAnimation() timer.visible = false } } @@ -588,7 +583,7 @@ open class V2ConversationItemTextOnlyViewHolder>( return } - if (!(conversationMessage.messageRecord.isEditMessage || shape.isEndingShape)) { + if (!(isForcedFooter() || shape.isEndingShape)) { binding.footerBackground.visible = false return } @@ -699,6 +694,10 @@ open class V2ConversationItemTextOnlyViewHolder>( return false } + private fun isForcedFooter(): Boolean { + return conversationMessage.messageRecord.isEditMessage || conversationMessage.messageRecord.expiresIn > 0L + } + private inner class ReactionMeasureListener : V2ConversationItemLayout.OnMeasureListener { override fun onPreMeasure() = Unit