package org.thoughtcrime.securesms.components; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Typeface; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.style.StyleSpan; import android.util.AttributeSet; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.components.emoji.EmojiTextView; import org.thoughtcrime.securesms.recipients.Recipient; public class FromTextView extends EmojiTextView { private static final String TAG = FromTextView.class.getSimpleName(); public FromTextView(Context context) { super(context); } public FromTextView(Context context, AttributeSet attrs) { super(context, attrs); } public void setText(Recipient recipient) { setText(recipient, true); } public void setText(Recipient recipient, boolean read) { int attributes[] = new int[]{R.attr.conversation_list_item_count_color}; TypedArray colors = getContext().obtainStyledAttributes(attributes); String fromString = recipient.toShortString(); int typeface; if (!read) { typeface = Typeface.BOLD; } else { typeface = Typeface.NORMAL; } SpannableStringBuilder builder = new SpannableStringBuilder(fromString); builder.setSpan(new StyleSpan(typeface), 0, builder.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE); colors.recycle(); setText(builder); if (recipient.isBlocked()) setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_block_grey600_18dp, 0, 0, 0); else if (recipient.isMuted()) setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_volume_off_grey600_18dp, 0, 0, 0); else setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0); } }