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

Wyświetl plik

@ -26,6 +26,14 @@
<item name="android:fontFamily">sans-serif-medium</item>
</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">
<item name="android:textSize">12sp</item>
<item name="android:lineSpacingExtra">2sp</item>