Fix edit message date header showing wrong date.

This commit is contained in:
Clark 2023-06-21 12:44:22 -04:00 committed by GitHub
parent d6758fc264
commit 59b2cc5f79
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 4 deletions

View file

@ -46,13 +46,11 @@ import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.conversation.colors.Colorizable; import org.thoughtcrime.securesms.conversation.colors.Colorizable;
import org.thoughtcrime.securesms.conversation.colors.Colorizer; import org.thoughtcrime.securesms.conversation.colors.Colorizer;
import org.thoughtcrime.securesms.conversation.mutiselect.MultiselectPart; 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.MediaMmsMessageRecord;
import org.thoughtcrime.securesms.database.model.MessageRecord; import org.thoughtcrime.securesms.database.model.MessageRecord;
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4Playable; import org.thoughtcrime.securesms.giph.mp4.GiphyMp4Playable;
import org.thoughtcrime.securesms.giph.mp4.GiphyMp4PlaybackPolicyEnforcer; import org.thoughtcrime.securesms.giph.mp4.GiphyMp4PlaybackPolicyEnforcer;
import org.thoughtcrime.securesms.mms.GlideRequests; import org.thoughtcrime.securesms.mms.GlideRequests;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.recipients.RecipientId;
import org.thoughtcrime.securesms.util.CachedInflater; import org.thoughtcrime.securesms.util.CachedInflater;
import org.thoughtcrime.securesms.util.DateUtils; import org.thoughtcrime.securesms.util.DateUtils;
@ -358,7 +356,7 @@ public class ConversationAdapter
if (scheduledMessagesMode) { if (scheduledMessagesMode) {
viewHolder.setText(DateUtils.getScheduledMessagesDateHeaderString(viewHolder.itemView.getContext(), locale, ((MediaMmsMessageRecord) conversationMessage.getMessageRecord()).getScheduledDate())); viewHolder.setText(DateUtils.getScheduledMessagesDateHeaderString(viewHolder.itemView.getContext(), locale, ((MediaMmsMessageRecord) conversationMessage.getMessageRecord()).getScheduledDate()));
} else { } 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) { if (type == HEADER_TYPE_POPOVER_DATE) {

View file

@ -116,7 +116,7 @@ class DateHeaderDecoration(hasWallpaper: Boolean = false, private val scheduleMe
return if (scheduleMessageMode) { return if (scheduleMessageMode) {
(conversationMessage.messageRecord as MediaMmsMessageRecord).scheduledDate (conversationMessage.messageRecord as MediaMmsMessageRecord).scheduledDate
} else { } else {
conversationMessage.messageRecord.dateSent conversationMessage.messageRecord.conversationTimestamp
} }
} }

View file

@ -741,6 +741,17 @@ public abstract class MessageRecord extends DisplayRecord {
return originalMessageId; 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() { public int getRevisionNumber() {
return revisionNumber; return revisionNumber;
} }