mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-17 12:28:24 +00:00
parent
83919c087d
commit
580a3182ab
@ -23,6 +23,7 @@ import android.content.Intent;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Build;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.text.TextUtils;
|
||||
@ -100,6 +101,10 @@ public class ConversationItem extends LinearLayout {
|
||||
private Button mmsDownloadButton;
|
||||
private TextView mmsDownloadingLabel;
|
||||
|
||||
private int defaultBubbleColor;
|
||||
private Drawable selectedBackground;
|
||||
private Drawable normalBackground;
|
||||
|
||||
private final MmsDownloadClickListener mmsDownloadClickListener = new MmsDownloadClickListener();
|
||||
private final MmsPreferencesClickListener mmsPreferencesClickListener = new MmsPreferencesClickListener();
|
||||
private final ClickListener clickListener = new ClickListener();
|
||||
@ -119,6 +124,7 @@ public class ConversationItem extends LinearLayout {
|
||||
protected void onFinishInflate() {
|
||||
super.onFinishInflate();
|
||||
|
||||
initializeAttributes();
|
||||
ViewGroup pendingIndicatorStub = (ViewGroup) findViewById(R.id.pending_indicator_stub);
|
||||
|
||||
if (pendingIndicatorStub != null) {
|
||||
@ -181,6 +187,18 @@ public class ConversationItem extends LinearLayout {
|
||||
}
|
||||
}
|
||||
|
||||
private void initializeAttributes() {
|
||||
final int[] attributes = new int[] {R.attr.conversation_item_bubble_background,
|
||||
R.attr.conversation_list_item_background_selected,
|
||||
R.attr.conversation_item_background};
|
||||
final TypedArray attrs = context.obtainStyledAttributes(attributes);
|
||||
|
||||
defaultBubbleColor = attrs.getColor(0, Color.WHITE);
|
||||
selectedBackground = attrs.getDrawable(1);
|
||||
normalBackground = attrs.getDrawable(2);
|
||||
attrs.recycle();
|
||||
}
|
||||
|
||||
public void unbind() {
|
||||
}
|
||||
|
||||
@ -191,12 +209,8 @@ public class ConversationItem extends LinearLayout {
|
||||
/// MessageRecord Attribute Parsers
|
||||
|
||||
private void setBubbleState(MessageRecord messageRecord) {
|
||||
int[] attributes = new int[]{R.attr.conversation_item_bubble_background};
|
||||
TypedArray colors = context.obtainStyledAttributes(attributes);
|
||||
int defaultColor = colors.getColor(0, Color.WHITE);
|
||||
|
||||
if (messageRecord.isOutgoing()) {
|
||||
bodyBubble.getBackground().setColorFilter(defaultColor, PorterDuff.Mode.MULTIPLY);
|
||||
bodyBubble.getBackground().setColorFilter(defaultBubbleColor, PorterDuff.Mode.MULTIPLY);
|
||||
} else {
|
||||
bodyBubble.getBackground().setColorFilter(messageRecord.getIndividualRecipient()
|
||||
.getColor()
|
||||
@ -204,22 +218,14 @@ public class ConversationItem extends LinearLayout {
|
||||
PorterDuff.Mode.MULTIPLY);
|
||||
}
|
||||
|
||||
colors.recycle();
|
||||
}
|
||||
|
||||
private void setSelectionBackgroundDrawables(MessageRecord messageRecord) {
|
||||
int[] attributes = new int[]{R.attr.conversation_list_item_background_selected,
|
||||
R.attr.conversation_item_background};
|
||||
|
||||
TypedArray drawables = context.obtainStyledAttributes(attributes);
|
||||
|
||||
if (batchSelected.contains(messageRecord)) {
|
||||
setBackgroundDrawable(drawables.getDrawable(0));
|
||||
setBackgroundDrawable(selectedBackground);
|
||||
} else {
|
||||
setBackgroundDrawable(drawables.getDrawable(1));
|
||||
setBackgroundDrawable(normalBackground);
|
||||
}
|
||||
|
||||
drawables.recycle();
|
||||
}
|
||||
|
||||
private boolean hasConversationBubble(MessageRecord messageRecord) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user