mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-24 13:08:46 +00:00
Separate string resources for edited message footer.
This commit is contained in:
committed by
Clark Chen
parent
e7c8ecbd31
commit
5b9ef5b6b6
@@ -29,6 +29,7 @@ import org.signal.core.util.concurrent.SignalExecutors;
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.animation.AnimationCompleteListener;
|
||||
import org.thoughtcrime.securesms.conversation.ConversationItemDisplayMode;
|
||||
import org.thoughtcrime.securesms.conversation.v2.computed.FormattedDate;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.database.model.MmsMessageRecord;
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||
@@ -325,15 +326,18 @@ public class ConversationItemFooter extends ConstraintLayout {
|
||||
timestamp = messageRecord.getDateSent();
|
||||
}
|
||||
}
|
||||
String date = DateUtils.getDatelessRelativeTimeSpanString(getContext(), locale, timestamp);
|
||||
FormattedDate date = DateUtils.getDatelessRelativeTimeSpanFormattedDate(getContext(), locale, timestamp);
|
||||
String dateLabel = date.getValue();
|
||||
if (displayMode != ConversationItemDisplayMode.Detailed.INSTANCE && messageRecord.isEditMessage() && messageRecord.isLatestRevision()) {
|
||||
if (DateUtils.isNow(timestamp)) {
|
||||
date = getContext().getString(R.string.ConversationItem_edited_now_timestamp_footer);
|
||||
if (date.isNow()) {
|
||||
dateLabel = getContext().getString(R.string.ConversationItem_edited_now_timestamp_footer);
|
||||
} else if (date.isRelative()) {
|
||||
dateLabel = getContext().getString(R.string.ConversationItem_edited_relative_timestamp_footer, date.getValue());
|
||||
} else {
|
||||
date = getContext().getString(R.string.ConversationItem_edited_timestamp_footer, date);
|
||||
dateLabel = getContext().getString(R.string.ConversationItem_edited_absolute_timestamp_footer, date.getValue());
|
||||
}
|
||||
}
|
||||
dateView.setText(date);
|
||||
dateView.setText(dateLabel);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ import org.thoughtcrime.securesms.conversation.colors.ChatColors
|
||||
import org.thoughtcrime.securesms.conversation.mutiselect.Multiselect
|
||||
import org.thoughtcrime.securesms.conversation.mutiselect.MultiselectPart
|
||||
import org.thoughtcrime.securesms.conversation.mutiselect.Multiselectable
|
||||
import org.thoughtcrime.securesms.conversation.v2.computed.FormattedDate
|
||||
import org.thoughtcrime.securesms.conversation.v2.data.ConversationMessageElement
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord
|
||||
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
|
||||
@@ -100,7 +101,7 @@ open class V2ConversationItemTextOnlyViewHolder<Model : MappingModel<Model>>(
|
||||
override val badgeImageView: View? = binding.senderBadge
|
||||
|
||||
private var reactionMeasureListener: ReactionMeasureListener = ReactionMeasureListener()
|
||||
private var dateString: String = ""
|
||||
private var formattedDate: FormattedDate? = null
|
||||
|
||||
private val bodyBubbleDrawable = ChatColorsDrawable()
|
||||
private val footerDrawable = ChatColorsDrawable()
|
||||
@@ -197,7 +198,7 @@ open class V2ConversationItemTextOnlyViewHolder<Model : MappingModel<Model>>(
|
||||
)
|
||||
|
||||
if (ConversationAdapterBridge.PAYLOAD_TIMESTAMP in payload) {
|
||||
if (conversationMessage.computedProperties.formattedDate.value != dateString) {
|
||||
if (conversationMessage.computedProperties.formattedDate != formattedDate) {
|
||||
presentDate()
|
||||
}
|
||||
hasProcessedSupportedPayload = true
|
||||
@@ -616,7 +617,7 @@ open class V2ConversationItemTextOnlyViewHolder<Model : MappingModel<Model>>(
|
||||
return
|
||||
}
|
||||
|
||||
dateString = conversationMessage.computedProperties.formattedDate.value
|
||||
formattedDate = conversationMessage.computedProperties.formattedDate
|
||||
|
||||
binding.footerDate.setOnClickListener(null)
|
||||
binding.footerDate.visible = true
|
||||
@@ -638,12 +639,14 @@ open class V2ConversationItemTextOnlyViewHolder<Model : MappingModel<Model>>(
|
||||
} else if (record.isScheduled()) {
|
||||
binding.footerDate.text = conversationMessage.computedProperties.formattedDate.value
|
||||
} else {
|
||||
var date = dateString
|
||||
var dateLabel = conversationMessage.computedProperties.formattedDate.value
|
||||
if (conversationContext.displayMode != ConversationItemDisplayMode.Detailed && record is MmsMessageRecord && record.isEditMessage()) {
|
||||
date = if (conversationMessage.computedProperties.formattedDate.isNow) {
|
||||
dateLabel = if (conversationMessage.computedProperties.formattedDate.isNow) {
|
||||
getContext().getString(R.string.ConversationItem_edited_now_timestamp_footer)
|
||||
} else if (conversationMessage.computedProperties.formattedDate.isRelative) {
|
||||
getContext().getString(R.string.ConversationItem_edited_relative_timestamp_footer, dateLabel)
|
||||
} else {
|
||||
getContext().getString(R.string.ConversationItem_edited_timestamp_footer, date)
|
||||
getContext().getString(R.string.ConversationItem_edited_absolute_timestamp_footer, dateLabel)
|
||||
}
|
||||
|
||||
binding.footerDate.setOnClickListener {
|
||||
@@ -651,7 +654,7 @@ open class V2ConversationItemTextOnlyViewHolder<Model : MappingModel<Model>>(
|
||||
}
|
||||
}
|
||||
|
||||
binding.footerDate.text = date
|
||||
binding.footerDate.text = dateLabel
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -323,10 +323,12 @@
|
||||
<string name="ConversationItem_cant_download_image_you_will_need_to_send_it_again">Can\'t download image. You will need to send it again.</string>
|
||||
<!-- Dialog error message shown when user can\'t download a their own video message via a linked device due to a permanent failure (e.g., unable to decrypt) -->
|
||||
<string name="ConversationItem_cant_download_video_you_will_need_to_send_it_again">Can\'t download video. You will need to send it again.</string>
|
||||
<!-- Display as the timestamp footer in a message bubble in a conversation when a message has been edited. The timestamp represents a message that has been edited extremely recently. -->
|
||||
<!-- Display as the timestamp footer in a message bubble in a conversation when a message has been edited. The timestamp represents a message that has been edited within the last minute. -->
|
||||
<string name="ConversationItem_edited_now_timestamp_footer">Edited\u2000Now</string>
|
||||
<!-- Display as the timestamp footer in a message bubble in a conversation when a message has been edited. The timestamp will go from \'11m\' to \'edited 11m\' -->
|
||||
<string name="ConversationItem_edited_timestamp_footer">Edited\u2000%1$s</string>
|
||||
<!-- Display as the timestamp footer in a message bubble in a conversation when a message has been edited. This is displayed when the edit has occurred between 1-59 minutes ago. -->
|
||||
<string name="ConversationItem_edited_relative_timestamp_footer">Edited\u2000%1$s</string>
|
||||
<!-- Display as the timestamp footer in a message bubble in a conversation when a message has been edited. This is displayed when the edit occurred at least 1 hour ago. -->
|
||||
<string name="ConversationItem_edited_absolute_timestamp_footer">Edited\u2000%1$s</string>
|
||||
<!-- Displayed if the link preview in the conversation item is for a call link call -->
|
||||
<string name="ConversationItem__join_call">Join call</string>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user