show contact request in chatlist with different background

This commit is contained in:
B. Petersen
2018-10-21 23:04:58 +02:00
parent 643e8d80f7
commit cc95e1fa1f
4 changed files with 19 additions and 3 deletions
+1
View File
@@ -7,6 +7,7 @@
<attr name="attachment_document_icon_large" format="reference" />
<attr name="conversation_list_item_background" format="reference"/>
<attr name="conversation_list_deaddrop_bg_color" format="reference|color"/>
<attr name="conversation_list_item_contact_color" format="reference|color"/>
<attr name="conversation_list_item_subject_color" format="reference|color"/>
<attr name="conversation_list_item_delivery_icon_color" format="reference|color"/>
+2
View File
@@ -132,6 +132,7 @@
<item name="attachment_document_icon_large">@drawable/ic_document_large_light</item>
<item name="conversation_list_item_background">@drawable/conversation_list_item_background</item>
<item name="conversation_list_deaddrop_bg_color">#ffcccccc</item>
<item name="conversation_list_item_contact_color">@color/core_light_90</item>
<item name="conversation_list_item_subject_color">@color/core_light_60</item>
<item name="conversation_list_item_delivery_icon_color">@color/core_light_35</item>
@@ -275,6 +276,7 @@
<item name="attachment_document_icon_large">@drawable/ic_document_large_dark</item>
<item name="conversation_list_item_background">@drawable/conversation_list_item_background_dark</item>
<item name="conversation_list_deaddrop_bg_color">#ff333333</item>
<item name="conversation_list_item_contact_color">#ffdddddd</item>
<item name="conversation_list_item_subject_color">#ffdddddd</item>
<item name="conversation_list_item_delivery_icon_color">@color/core_dark_55</item>
@@ -18,6 +18,7 @@ package org.thoughtcrime.securesms;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.Typeface;
import android.graphics.drawable.RippleDrawable;
@@ -38,6 +39,7 @@ import android.widget.TextView;
import com.amulyakhare.textdrawable.TextDrawable;
import com.annimon.stream.Stream;
import com.b44t.messenger.DcChat;
import com.b44t.messenger.DcLot;
import com.b44t.messenger.DcMsg;
@@ -305,8 +307,19 @@ public class ConversationListItem extends RelativeLayout
private void setRippleColor(Recipient recipient) {
if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
((RippleDrawable)(getBackground()).mutate())
.setColor(ColorStateList.valueOf(recipient.getColor().toConversationColor(getContext())));
if(threadId==DcChat.DC_CHAT_ID_DEADDROP) {
TypedArray ta = getContext().obtainStyledAttributes(new int[] { R.attr.conversation_list_deaddrop_bg_color});
setBackgroundColor(ta.getColor(0, 0xffffffff));
ta.recycle();
}
else {
TypedArray ta = getContext().obtainStyledAttributes(new int[] { R.attr.conversation_list_item_background});
setBackground(ta.getDrawable(0));
ta.recycle();
((RippleDrawable)(getBackground()).mutate())
.setColor(ColorStateList.valueOf(recipient.getColor().toConversationColor(getContext())));
}
}
}
@@ -415,7 +415,7 @@ public class ApplicationDcContext extends DcContext {
case DC_EVENT_GET_STRING:
String s;
switch( (int)data1 ) { // the integers are defined in the core and used only here, an enum or sth. like that won't have a big benefit
case 8: s = context.getString(R.string.contact_request); break;
case 8: s = context.getString(R.string.menu_deaddrop); break;
case 13: s = context.getString(R.string.default_status_text); break;
case 42: s = context.getString(R.string.autocrypt__asm_subject); break;
case 43: s = context.getString(R.string.autocrypt__asm_general_body); break;