Update edit message history items to match design.

This commit is contained in:
Clark
2023-08-01 13:20:36 -04:00
committed by Greyson Parrelli
parent a0e514dac9
commit 0b7490dc06
3 changed files with 15 additions and 4 deletions

View File

@@ -327,7 +327,7 @@ public class ConversationItemFooter extends ConstraintLayout {
}
}
String date = DateUtils.getSimpleRelativeTimeSpanString(getContext(), locale, timestamp);
if (displayMode != ConversationItemDisplayMode.DETAILED && messageRecord.isEditMessage()) {
if (displayMode != ConversationItemDisplayMode.DETAILED && messageRecord.isEditMessage() && messageRecord.isLatestRevision()) {
date = getContext().getString(R.string.ConversationItem_edited_timestamp_footer, date);
}
dateView.setText(date);

View File

@@ -1765,7 +1765,11 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
}
private boolean forceFooter(@NonNull MessageRecord messageRecord) {
return hasAudio(messageRecord) || MessageRecordUtil.isEditMessage(messageRecord);
return hasAudio(messageRecord) || MessageRecordUtil.isEditMessage(messageRecord) || displayMode == ConversationItemDisplayMode.EDIT_HISTORY;
}
private boolean forceGroupHeader(@NonNull MessageRecord messageRecord) {
return displayMode == ConversationItemDisplayMode.EDIT_HISTORY;
}
private ConversationItemFooter getActiveFooter(@NonNull MessageRecord messageRecord) {
@@ -1811,7 +1815,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
contactPhotoHolder.setVisibility(VISIBLE);
if (!previous.isPresent() || previous.get().isUpdate() || !current.getFromRecipient().equals(previous.get().getFromRecipient()) ||
!DateUtils.isSameDay(previous.get().getTimestamp(), current.getTimestamp()) || !isWithinClusteringTime(current, previous.get()))
!DateUtils.isSameDay(previous.get().getTimestamp(), current.getTimestamp()) || !isWithinClusteringTime(current, previous.get()) || forceGroupHeader(current))
{
groupSenderHolder.setVisibility(VISIBLE);
@@ -1825,7 +1829,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
groupSenderHolder.setVisibility(GONE);
}
if (!next.isPresent() || next.get().isUpdate() || !current.getFromRecipient().equals(next.get().getFromRecipient()) || !isWithinClusteringTime(current, next.get())) {
if (!next.isPresent() || next.get().isUpdate() || !current.getFromRecipient().equals(next.get().getFromRecipient()) || !isWithinClusteringTime(current, next.get()) || forceGroupHeader(current)) {
contactPhoto.setVisibility(VISIBLE);
badgeImageView.setVisibility(VISIBLE);
} else {

View File

@@ -738,6 +738,13 @@ public abstract class MessageRecord extends DisplayRecord {
return originalMessageId != null;
}
public boolean isLatestRevision() {
if (this instanceof MediaMmsMessageRecord) {
return ((MediaMmsMessageRecord) this).getLatestRevisionId() == null;
}
return true;
}
public @Nullable MessageId getOriginalMessageId() {
return originalMessageId;
}