private void setContactPhoto(final Recipient recipient) { if (recipient == null) return; if (isBadgeEnabled()) { contactPhotoBadge.setImageBitmap(recipient.getContactPhoto()); contactPhotoBadge.assignContactFromPhone(recipient.getNumber(), true); } else { contactPhotoImage.setImageBitmap(recipient.getContactPhoto()); contactPhotoImage.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (recipient.getContactUri() != null) { QuickContact.showQuickContact( context, contactPhotoImage, recipient.getContactUri(), QuickContact.MODE_LARGE, null); } else { Intent intent = new Intent( Intents.SHOW_OR_CREATE_CONTACT, Uri.fromParts("tel", recipient.getNumber(), null)); context.startActivity(intent); } } }); } }
public void set(MessageRecord message, boolean batchMode) { this.recipients = message.getRecipients(); this.threadId = message.getThreadId(); this.fromView.setText(formatFrom(recipients, message.getCount())); if (message.isKeyExchange()) this.subjectView.setText("Key exchange message...", TextView.BufferType.SPANNABLE); else this.subjectView.setText(message.getBody(), TextView.BufferType.SPANNABLE); if (message.getEmphasis()) ((Spannable) this.subjectView.getText()) .setSpan( new StyleSpan(android.graphics.Typeface.ITALIC), 0, this.subjectView.getText().length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); if (message.getDate() > 0) this.dateView.setText( DateUtils.getRelativeTimeSpanString(getContext(), message.getDate(), false)); if (selectedThreads != null) this.checkbox.setChecked(selectedThreads.contains(threadId)); clearIndicators(); setIndicators(message.getRead(), message.isKeyExchange()); if (!first) { if (batchMode) checkbox.setVisibility(View.VISIBLE); else checkbox.setVisibility(View.GONE); if (!PreferenceManager.getDefaultSharedPreferences(context) .getBoolean( ApplicationPreferencesActivity.CONVERSATION_ICONS_LIST_PREF, ApplicationPreferencesActivity.showIcon())) { contactPhoto.setVisibility(View.GONE); } else { contactPhoto.setImageBitmap( message.getRecipients().getPrimaryRecipient().getContactPhoto()); contactPhoto.assignContactFromPhone( message.getRecipients().getPrimaryRecipient().getNumber(), false); contactPhoto.setVisibility(View.VISIBLE); } } }
private void updateAvatarView() { MultiDeleteListItemData ch = mMultiDeleteThreadData; Drawable avatarDrawable; if (ch.getContacts().size() == 1) { Contact contact = ch.getContacts().get(0); avatarDrawable = contact.getAvatar(mContext, sDefaultContactImage); if (contact.existsInDatabase()) { mAvatarView.assignContactUri(contact.getUri()); } else { mAvatarView.assignContactFromPhone(contact.getNumber(), true); } } else { // TODO get a multiple recipients asset (or do something else) avatarDrawable = sDefaultContactImage; mAvatarView.assignContactUri(null); } mAvatarView.setImageDrawable(avatarDrawable); }
private void updateAvatarView() { Drawable avatarDrawable; if (mConversation.getRecipients().size() == 1) { Contact contact = mConversation.getRecipients().get(0); // to be continued avatarDrawable = contact.getAvatar(mContext, sDefaultContactImage); if (contact.existsInDatabase()) { // 010查看联系人是否存在于通讯录 mAvatarView.assignContactUri(contact.getUri()); } else { mAvatarView.assignContactFromPhone(contact.getNumber(), true); } } else { // TODO get a multiple recipients asset (or do something else) avatarDrawable = sDefaultContactImage; mAvatarView.assignContactUri(null); } mAvatarView.setImageDrawable(avatarDrawable); mAvatarView.setVisibility(View.VISIBLE); }