diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationAdapter.java index 2fe95123f9..cd413e5a76 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationAdapter.java @@ -46,13 +46,11 @@ import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.conversation.colors.Colorizable; import org.thoughtcrime.securesms.conversation.colors.Colorizer; import org.thoughtcrime.securesms.conversation.mutiselect.MultiselectPart; -import org.thoughtcrime.securesms.conversationlist.model.Conversation; import org.thoughtcrime.securesms.database.model.MediaMmsMessageRecord; import org.thoughtcrime.securesms.database.model.MessageRecord; import org.thoughtcrime.securesms.giph.mp4.GiphyMp4Playable; import org.thoughtcrime.securesms.giph.mp4.GiphyMp4PlaybackPolicyEnforcer; import org.thoughtcrime.securesms.mms.GlideRequests; -import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.util.CachedInflater; import org.thoughtcrime.securesms.util.DateUtils; @@ -358,7 +356,7 @@ public class ConversationAdapter if (scheduledMessagesMode) { viewHolder.setText(DateUtils.getScheduledMessagesDateHeaderString(viewHolder.itemView.getContext(), locale, ((MediaMmsMessageRecord) conversationMessage.getMessageRecord()).getScheduledDate())); } else { - viewHolder.setText(DateUtils.getConversationDateHeaderString(viewHolder.itemView.getContext(), locale, conversationMessage.getMessageRecord().getDateSent())); + viewHolder.setText(DateUtils.getConversationDateHeaderString(viewHolder.itemView.getContext(), locale, conversationMessage.getMessageRecord().getConversationTimestamp())); } if (type == HEADER_TYPE_POPOVER_DATE) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/DateHeaderDecoration.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/DateHeaderDecoration.kt index 53f87af0da..7dea3d530a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/DateHeaderDecoration.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/DateHeaderDecoration.kt @@ -116,7 +116,7 @@ class DateHeaderDecoration(hasWallpaper: Boolean = false, private val scheduleMe return if (scheduleMessageMode) { (conversationMessage.messageRecord as MediaMmsMessageRecord).scheduledDate } else { - conversationMessage.messageRecord.dateSent + conversationMessage.messageRecord.conversationTimestamp } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/MessageRecord.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/MessageRecord.java index 635f2f3228..21f151f8fa 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/model/MessageRecord.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/MessageRecord.java @@ -741,6 +741,17 @@ public abstract class MessageRecord extends DisplayRecord { return originalMessageId; } + /** + * Get the timestamp of a message, shown in the conversation. This is used + * for example when showing the conversation date separators. + */ + public long getConversationTimestamp() { + if (isEditMessage()) { + return getDateReceived(); + } + return getDateSent(); + } + public int getRevisionNumber() { return revisionNumber; }