Use matching color for read conversation sender names.

fork-5.53.8
Alan Evans 2021-02-03 15:56:55 -04:00 zatwierdzone przez Greyson Parrelli
rodzic af7e736de9
commit 3e2349c4ff
2 zmienionych plików z 16 dodań i 5 usunięć

Wyświetl plik

@ -493,7 +493,7 @@ public final class ConversationListItem extends ConstraintLayout
if (thread.getRecipient().isGroup()) { if (thread.getRecipient().isGroup()) {
RecipientId groupMessageSender = thread.getGroupMessageSender(); RecipientId groupMessageSender = thread.getGroupMessageSender();
if (!groupMessageSender.isUnknown()) { if (!groupMessageSender.isUnknown()) {
return describeGroupMessage(context, body, groupMessageSender); return describeGroupMessage(context, body, groupMessageSender, thread.isRead());
} }
} }
return LiveDataUtil.just(new SpannableString(body)); return LiveDataUtil.just(new SpannableString(body));
@ -503,21 +503,24 @@ public final class ConversationListItem extends ConstraintLayout
private static LiveData<SpannableString> describeGroupMessage(@NonNull Context context, private static LiveData<SpannableString> describeGroupMessage(@NonNull Context context,
@NonNull String body, @NonNull String body,
@NonNull RecipientId groupMessageSender) @NonNull RecipientId groupMessageSender,
boolean read)
{ {
return whileLoadingShow(body, recipientToStringAsync(groupMessageSender, return whileLoadingShow(body, recipientToStringAsync(groupMessageSender,
r -> createGroupMessageUpdateString(context, body, r))); r -> createGroupMessageUpdateString(context, body, r, read)));
} }
private static SpannableString createGroupMessageUpdateString(@NonNull Context context, private static SpannableString createGroupMessageUpdateString(@NonNull Context context,
@NonNull String body, @NonNull String body,
@NonNull Recipient recipient) @NonNull Recipient recipient,
boolean read)
{ {
String sender = (recipient.isSelf() ? context.getString(R.string.MessageRecord_you) String sender = (recipient.isSelf() ? context.getString(R.string.MessageRecord_you)
: recipient.getShortDisplayName(context)) + ": "; : recipient.getShortDisplayName(context)) + ": ";
SpannableString spannable = new SpannableString(sender + body); SpannableString spannable = new SpannableString(sender + body);
spannable.setSpan(new TextAppearanceSpan(context, R.style.Signal_Text_Preview_Medium), spannable.setSpan(new TextAppearanceSpan(context, read ? R.style.Signal_Text_Preview_Medium_Secondary
: R.style.Signal_Text_Preview_Medium_Primary),
0, 0,
sender.length(), sender.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

Wyświetl plik

@ -26,6 +26,14 @@
<item name="android:fontFamily">sans-serif-medium</item> <item name="android:fontFamily">sans-serif-medium</item>
</style> </style>
<style name="Signal.Text.Preview.Medium.Primary">
<item name="android:textColor">@color/signal_text_primary</item>
</style>
<style name="Signal.Text.Preview.Medium.Secondary">
<item name="android:textColor">@color/signal_text_secondary</item>
</style>
<style name="Signal.Text.Caption" parent="Base.TextAppearance.AppCompat.Caption"> <style name="Signal.Text.Caption" parent="Base.TextAppearance.AppCompat.Caption">
<item name="android:textSize">12sp</item> <item name="android:textSize">12sp</item>
<item name="android:lineSpacingExtra">2sp</item> <item name="android:lineSpacingExtra">2sp</item>