From a6c8b940c9332f9155c686e90bc1579cedbd5c86 Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Tue, 3 Mar 2026 15:24:30 -0500 Subject: [PATCH] Consolidate admin delete into one string. --- .../securesms/conversation/ConversationItem.java | 16 ++++++++-------- app/src/main/res/values/strings.xml | 6 ++---- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java index 83e1c32154..2bf605f3e3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java @@ -146,6 +146,7 @@ import org.thoughtcrime.securesms.util.LongClickMovementMethod; import org.thoughtcrime.securesms.util.MediaUtil; import org.thoughtcrime.securesms.util.MessageRecordUtil; import org.thoughtcrime.securesms.util.PlaceholderURLSpan; +import org.thoughtcrime.securesms.util.SpanUtil; import org.thoughtcrime.securesms.util.Projection; import org.thoughtcrime.securesms.util.ProjectionList; import org.thoughtcrime.securesms.util.RemoteConfig; @@ -1171,8 +1172,8 @@ public final class ConversationItem extends RelativeLayout implements BindableCo } else if (!isAdminDelete) { body = formatDeletedText(context.getString(R.string.ConversationItem_s_deleted_this_message, message.getDeletedByRecipient().getDisplayName(context))); } else { - SpannableString prefix = formatDeletedText(context.getString(R.string.ConversationItem_admin)); - SpannableString suffix = formatDeletedText(context.getString(R.string.ConversationItem_deleted_this_message)); + String template = context.getString(R.string.ConversationItem_admin_s_deleted_this_message, SpanUtil.SPAN_PLACE_HOLDER); + int start = template.indexOf(SpanUtil.SPAN_PLACE_HOLDER); int nameColor = colorizer.getIncomingGroupSenderColor(getContext(), message.getDeletedByRecipient()); SpannableString name = new SpannableString(message.getDeletedByRecipient().getDisplayName(context)); @@ -1180,12 +1181,11 @@ public final class ConversationItem extends RelativeLayout implements BindableCo name.setSpan(new RecipientClickableSpan(conversationMessage.getDeletedByRecipient().getId()), 0, name.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); name.setSpan(new StyleSpan(Typeface.BOLD), 0, name.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - body = new SpannableStringBuilder() - .append(prefix) - .append(" ") - .append(name) - .append(" ") - .append(suffix); + SpannableStringBuilder builder = new SpannableStringBuilder(template); + builder.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, org.signal.core.ui.R.color.signal_colorOnSurfaceVariant)), 0, builder.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + builder.replace(start, start + SpanUtil.SPAN_PLACE_HOLDER.length(), name); + + body = builder; } return new SpannableStringBuilder() diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a94a12697a..8e5b5af9bf 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -458,10 +458,8 @@ %1$s deleted this message You deleted this message - - Admin - - deleted this message + + Admin %1$s deleted this message Can\'t download message. %1$s will need to send it again.