introduce color 'unknown_sender' and use it for forwarded messages, forwarded quotes, quotes with unknown sender

This commit is contained in:
B. Petersen 2020-11-25 19:56:56 +01:00
parent d4ef19b9cf
commit 12e4d6b30e
No known key found for this signature in database
GPG key ID: 3B88E92DEA8E9AFC
4 changed files with 28 additions and 15 deletions

View file

@ -20,8 +20,8 @@
android:id="@+id/quote_bar"
android:layout_width="@dimen/quote_corner_radius_bottom"
android:layout_height="match_parent"
android:background="@color/purple_400"
tools:tint="@color/purple_400" />
android:background="@color/unknown_sender"
tools:tint="@color/unknown_sender" />
<LinearLayout
android:layout_width="0dp"
@ -123,4 +123,4 @@
android:tint="?quote_dismiss_button_tint" />
</LinearLayout>
</merge>
</merge>

View file

@ -64,4 +64,8 @@
<color name="pinned_bg">#eeeeee</color>
<color name="pinned_bg_dark">#222222</color>
<!-- unknown_sender fits in dark mode and lite mode (also other chat/contact colors fit in both modes);
unknown_sender is used for the sender-name/quote-bar if the sender is unknown -->
<color name="unknown_sender">#ff999999</color>
</resources>

View file

@ -122,7 +122,6 @@ public class ConversationItem extends LinearLayout
private int incomingBubbleColor;
private int outgoingBubbleColor;
private int forwardedTitleColor;
private final PassthroughClickListener passthroughClickListener = new PassthroughClickListener();
@ -265,13 +264,11 @@ public class ConversationItem extends LinearLayout
final int[] attributes = new int[] {
R.attr.conversation_item_incoming_bubble_color,
R.attr.conversation_item_outgoing_bubble_color,
R.attr.conversation_item_incoming_text_secondary_color
};
final TypedArray attrs = context.obtainStyledAttributes(attributes);
incomingBubbleColor = attrs.getColor(0, Color.WHITE);
outgoingBubbleColor = attrs.getColor(1, Color.WHITE);
forwardedTitleColor = attrs.getColor(2, Color.BLACK);
attrs.recycle();
}
@ -641,7 +638,7 @@ public class ConversationItem extends LinearLayout
private void setGroupMessageStatus() {
if (messageRecord.isForwarded()) {
this.groupSender.setText(context.getString(R.string.forwarded_message));
this.groupSender.setTextColor(forwardedTitleColor);
this.groupSender.setTextColor(context.getResources().getColor(R.color.unknown_sender));
}
else if (groupThread && !messageRecord.isOutgoing() && dcContact !=null) {
this.groupSender.setText(dcContact.getDisplayName());

View file

@ -141,15 +141,23 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
private void setQuoteAuthor(@Nullable Recipient author) {
if (author == null) {
authorView.setVisibility(GONE);
return;
}
DcContact contact = author.getDcContact();
if (contact != null) {
quoteBarView.setBackgroundColor(getForwardedColor());
} else if (quotedMsg.isForwarded()) {
authorView.setVisibility(VISIBLE);
authorView.setText(contact.getDisplayName());
quoteBarView.setBackgroundColor(contact.getArgbColor());
authorView.setTextColor(contact.getArgbColor());
authorView.setText(getContext().getString(R.string.forwarded_message));
authorView.setTextColor(getForwardedColor());
quoteBarView.setBackgroundColor(getForwardedColor());
} else {
DcContact contact = author.getDcContact();
if (contact == null) {
authorView.setVisibility(GONE);
quoteBarView.setBackgroundColor(getForwardedColor());
} else {
authorView.setVisibility(VISIBLE);
authorView.setText(contact.getDisplayName());
authorView.setTextColor(contact.getArgbColor());
quoteBarView.setBackgroundColor(contact.getArgbColor());
}
}
}
@ -217,4 +225,8 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
public DcMsg getOriginalMsg() {
return quotedMsg;
}
private int getForwardedColor() {
return getResources().getColor(R.color.unknown_sender);
}
}