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);
      }
    }
  }
Ejemplo n.º 3
0
  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);
  }
Ejemplo n.º 4
0
  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);
  }