com.fsck.k9.mail.Message类的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(11.8k)|赞(0)|评价(0)|浏览(291)

本文整理了Java中com.fsck.k9.mail.Message类的一些代码示例,展示了Message类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message类的具体详情如下:
包路径:com.fsck.k9.mail.Message
类名称:Message

Message介绍

暂无

代码示例

代码示例来源:origin: k9mail/k-9

  1. private Long getUidForMessage(Message message) {
  2. try {
  3. return Long.parseLong(message.getUid());
  4. } catch (NullPointerException | NumberFormatException e) {
  5. return null;
  6. }
  7. }
  8. }

代码示例来源:origin: k9mail/k-9

  1. private String extractMessageId(Message message) {
  2. String[] messageIdHeader = message.getHeader("Message-ID");
  3. return messageIdHeader.length == 0 ? null : messageIdHeader[0];
  4. }

代码示例来源:origin: k9mail/k-9

  1. public ReplyToAddresses getRecipientsToReplyTo(Message message, Account account) {
  2. Address[] candidateAddress;
  3. Address[] replyToAddresses = message.getReplyTo();
  4. Address[] listPostAddresses = ListHeaders.getListPostAddresses(message);
  5. Address[] fromAddresses = message.getFrom();
  6. if (replyToAddresses.length > 0) {
  7. candidateAddress = replyToAddresses;
  8. } else if (listPostAddresses.length > 0) {
  9. candidateAddress = listPostAddresses;
  10. } else {
  11. candidateAddress = fromAddresses;
  12. }
  13. boolean replyToAddressIsUserIdentity = account.isAnIdentity(candidateAddress);
  14. if (replyToAddressIsUserIdentity) {
  15. candidateAddress = message.getRecipients(RecipientType.TO);
  16. }
  17. return new ReplyToAddresses(candidateAddress);
  18. }

代码示例来源:origin: k9mail/k-9

  1. public static boolean shouldShowSender(Message message) {
  2. Address[] from = message.getFrom();
  3. Address[] sender = message.getSender();
  4. return sender != null && sender.length != 0 && !Arrays.equals(from, sender);
  5. }

代码示例来源:origin: k9mail/k-9

  1. public boolean olderThan(Date earliestDate) {
  2. if (earliestDate == null) {
  3. return false;
  4. }
  5. Date myDate = getSentDate();
  6. if (myDate == null) {
  7. myDate = getInternalDate();
  8. }
  9. return myDate != null && myDate.before(earliestDate);
  10. }

代码示例来源:origin: k9mail/k-9

  1. private boolean shouldImportMessage(Message message, Date earliestDate) {
  2. if (message.olderThan(earliestDate)) {
  3. Timber.d("Message %s is older than %s, hence not saving", message.getUid(), earliestDate);
  4. return false;
  5. }
  6. return true;
  7. }

代码示例来源:origin: k9mail/k-9

  1. private boolean syncFlags(SyncConfig syncConfig, BackendFolder backendFolder, Message remoteMessage) {
  2. String messageServerId = remoteMessage.getUid();
  3. if (!backendFolder.isMessagePresent(messageServerId)) {
  4. return false;
  5. }
  6. Set<Flag> localMessageFlags = backendFolder.getMessageFlags(messageServerId);
  7. if (localMessageFlags.contains(Flag.DELETED)) {
  8. return false;
  9. }
  10. boolean messageChanged = false;
  11. if (remoteMessage.isSet(Flag.DELETED)) {
  12. if (syncConfig.getSyncRemoteDeletions()) {
  13. backendFolder.setMessageFlag(messageServerId, Flag.DELETED, true);
  14. messageChanged = true;
  15. }
  16. } else {
  17. for (Flag flag : syncConfig.getSyncFlags()) {
  18. if (remoteMessage.isSet(flag) != localMessageFlags.contains(flag)) {
  19. backendFolder.setMessageFlag(messageServerId, flag, remoteMessage.isSet(flag));
  20. messageChanged = true;
  21. }
  22. }
  23. }
  24. return messageChanged;
  25. }

代码示例来源:origin: k9mail/k-9

  1. String uid = message.getUid();
  2. boolean shouldCreateNewMessage = uid == null || copy;
  3. if (shouldCreateNewMessage) {
  4. message.setUid(randomLocalUid);
  5. cv.put("message_part_id", rootMessagePartId);
  6. cv.put("uid", uid);
  7. cv.put("subject", message.getSubject());
  8. cv.put("sender_list", Address.pack(message.getFrom()));
  9. cv.put("date", message.getSentDate() == null
  10. ? System.currentTimeMillis() : message.getSentDate().getTime());
  11. cv.put("flags", LocalStore.serializeFlags(message.getFlags()));
  12. cv.put("deleted", message.isSet(Flag.DELETED) ? 1 : 0);
  13. cv.put("read", message.isSet(Flag.SEEN) ? 1 : 0);
  14. cv.put("flagged", message.isSet(Flag.FLAGGED) ? 1 : 0);
  15. cv.put("answered", message.isSet(Flag.ANSWERED) ? 1 : 0);
  16. cv.put("forwarded", message.isSet(Flag.FORWARDED) ? 1 : 0);
  17. cv.put("folder_id", databaseId);
  18. cv.put("to_list", Address.pack(message.getRecipients(RecipientType.TO)));
  19. cv.put("cc_list", Address.pack(message.getRecipients(RecipientType.CC)));
  20. cv.put("bcc_list", Address.pack(message.getRecipients(RecipientType.BCC)));
  21. cv.put("reply_to_list", Address.pack(message.getReplyTo()));
  22. cv.put("attachment_count", attachmentCount);
  23. cv.put("internal_date", message.getInternalDate() == null
  24. ? System.currentTimeMillis() : message.getInternalDate().getTime());
  25. cv.put("mime_type", message.getMimeType());
  26. cv.put("empty", 0);
  27. cv.put("encryption_type", encryptionType);

代码示例来源:origin: k9mail/k-9

  1. @Override
  2. public void messageFinished(T message, int number, int ofTotal) {
  3. try {
  4. if (message.isSet(Flag.DELETED) || message.olderThan(earliestDate)) {
  5. if (message.isSet(Flag.DELETED)) {
  6. Timber.v("Newly downloaded message %s:%s:%s was marked deleted on server, " +
  7. "skipping", accountName, folder, message.getUid());
  8. } else {
  9. Timber.d("Newly downloaded message %s is older than %s, skipping",
  10. message.getUid(), earliestDate);
  11. }
  12. progress.incrementAndGet();
  13. //TODO: This might be the source of poll count errors in the UI. Is todo always the same as ofTotal
  14. listener.syncProgress(folder, progress.get(), todo);
  15. return;
  16. }
  17. if (syncConfig.getMaximumAutoDownloadMessageSize() > 0 &&
  18. message.getSize() > syncConfig.getMaximumAutoDownloadMessageSize()) {
  19. largeMessages.add(message);
  20. } else {
  21. smallMessages.add(message);
  22. }
  23. } catch (Exception e) {
  24. Timber.e(e, "Error while storing downloaded message.");
  25. }
  26. }

代码示例来源:origin: k9mail/k-9

  1. @Test
  2. public void getRecipientsToReplyAllTo_should_returnFromAndToAndCcRecipients() throws Exception {
  3. when(message.getReplyTo()).thenReturn(EMPTY_ADDRESSES);
  4. when(message.getHeader(ListHeaders.LIST_POST_HEADER)).thenReturn(new String[0]);
  5. when(message.getFrom()).thenReturn(FROM_ADDRESSES);
  6. when(message.getRecipients(RecipientType.TO)).thenReturn(TO_ADDRESSES);
  7. when(message.getRecipients(RecipientType.CC)).thenReturn(CC_ADDRESSES);
  8. ReplyToAddresses recipientsToReplyAllTo = replyToParser.getRecipientsToReplyAllTo(message, account);
  9. assertArrayEquals(arrayConcatenate(FROM_ADDRESSES, TO_ADDRESSES, Address.class), recipientsToReplyAllTo.to);
  10. assertArrayEquals(CC_ADDRESSES, recipientsToReplyAllTo.cc);
  11. }

代码示例来源:origin: k9mail/k-9

  1. for (T message : largeMessages) {
  2. if (message.getBody() == null) {
  3. downloadSaneBody(syncConfig, remoteFolder, backendFolder, message);
  4. } else {
  5. String messageServerId = message.getUid();
  6. Timber.v("About to notify listeners that we got a new large message %s:%s:%s",
  7. accountName, folder, messageServerId);

代码示例来源:origin: k9mail/k-9

  1. @Test
  2. public void getRecipientsToReplyTo_should_return_from_otherwise() throws Exception {
  3. when(message.getReplyTo()).thenReturn(EMPTY_ADDRESSES);
  4. when(message.getHeader(ListHeaders.LIST_POST_HEADER)).thenReturn(new String[0]);
  5. when(message.getFrom()).thenReturn(FROM_ADDRESSES);
  6. ReplyToAddresses result = replyToParser.getRecipientsToReplyTo(message, account);
  7. assertArrayEquals(FROM_ADDRESSES, result.to);
  8. assertArrayEquals(EMPTY_ADDRESSES, result.cc);
  9. verify(account).isAnIdentity(result.to);
  10. }

代码示例来源:origin: k9mail/k-9

  1. throws MessagingException {
  2. Address[] from = message.getFrom();
  3. if (from != null && from.length > 0) {
  4. text.append(resourceProvider.messageHeaderFrom());
  5. Address[] to = message.getRecipients(Message.RecipientType.TO);
  6. if (to != null && to.length > 0) {
  7. text.append(resourceProvider.messageHeaderTo());
  8. Address[] cc = message.getRecipients(Message.RecipientType.CC);
  9. if (cc != null && cc.length > 0) {
  10. text.append(resourceProvider.messageHeaderCc());
  11. Date date = message.getSentDate();
  12. if (date != null) {
  13. text.append(resourceProvider.messageHeaderDate());
  14. String subject = message.getSubject();
  15. text.append(resourceProvider.messageHeaderSubject());
  16. text.append(' ');

代码示例来源:origin: k9mail/k-9

  1. ByteArrayOutputStream out;
  2. long size = message.getSize();
  3. if (size > Integer.MAX_VALUE) {
  4. throw new MessagingException("message size > Integer.MAX_VALUE!");
  5. EOLConvertingOutputStream msgOut = new EOLConvertingOutputStream(
  6. new BufferedOutputStream(out, 1024));
  7. message.writeTo(msgOut);
  8. msgOut.flush();
  9. messageURL += "/";
  10. messageURL += encodeUtf8(message.getUid() + ":" + System.currentTimeMillis() + ".eml");
  11. WebDavMessage retMessage = new WebDavMessage(message.getUid(), this);

代码示例来源:origin: k9mail/k-9

  1. public void populate(final Message message, final Account account) {
  2. final Contacts contacts = K9.showContactName() ? mContacts : null;
  3. final CharSequence from = MessageHelper.toFriendly(message.getFrom(), contacts);
  4. final CharSequence to = MessageHelper.toFriendly(message.getRecipients(Message.RecipientType.TO), contacts);
  5. final CharSequence cc = MessageHelper.toFriendly(message.getRecipients(Message.RecipientType.CC), contacts);
  6. final CharSequence bcc = MessageHelper.toFriendly(message.getRecipients(Message.RecipientType.BCC), contacts);
  7. Address[] fromAddrs = message.getFrom();
  8. Address[] toAddrs = message.getRecipients(Message.RecipientType.TO);
  9. Address[] ccAddrs = message.getRecipients(Message.RecipientType.CC);
  10. boolean fromMe = mMessageHelper.toMe(account, fromAddrs);
  11. mSenderView.setVisibility(VISIBLE);
  12. String sender = getResources().getString(R.string.message_view_sender_label,
  13. MessageHelper.toFriendly(message.getSender(), contacts));
  14. mSenderView.setText(sender);
  15. } else {
  16. message.getSentDate().getTime(),
  17. DateUtils.FORMAT_SHOW_DATE
  18. | DateUtils.FORMAT_ABBREV_ALL
  19. updateAddressField(mCcView, cc, mCcLabel);
  20. updateAddressField(mBccView, bcc, mBccLabel);
  21. mAnsweredIcon.setVisibility(message.isSet(Flag.ANSWERED) ? View.VISIBLE : View.GONE);
  22. mForwardedIcon.setVisibility(message.isSet(Flag.FORWARDED) ? View.VISIBLE : View.GONE);
  23. mFlagged.setChecked(message.isSet(Flag.FLAGGED));

代码示例来源:origin: k9mail/k-9

  1. int unsizedMessages = 0;
  2. for (Message message : messages) {
  3. if (message.getSize() == -1) {
  4. unsizedMessages++;
  5. Set<String> msgUidIndex = new HashSet<>();
  6. for (Message message : messages) {
  7. msgUidIndex.add(message.getUid());

代码示例来源:origin: k9mail/k-9

  1. String fromAddress = Address.toString(originalMessage.getFrom());
  2. if (quoteStyle == QuoteStyle.PREFIX) {
  3. StringBuilder header = new StringBuilder(QuoteHelper.QUOTE_BUFFER_LENGTH);
  4. header.append("<div style='font-size:10.0pt;font-family:\"Tahoma\",\"sans-serif\";padding:3.0pt 0in 0in 0in'>\r\n");
  5. header.append("<hr style='border:none;border-top:solid #E1E1E1 1.0pt'>\r\n"); // This gets converted into a horizontal line during html to text conversion.
  6. if (originalMessage.getFrom() != null && fromAddress.length() != 0) {
  7. header.append("<b>").append(resourceProvider.messageHeaderFrom()).append("</b> ")
  8. .append(HtmlConverter.textToHtmlFragment(fromAddress))
  9. .append("<br>\r\n");
  10. if (originalMessage.getRecipients(RecipientType.TO) != null && originalMessage.getRecipients(RecipientType.TO).length != 0) {
  11. header.append("<b>").append(resourceProvider.messageHeaderTo()).append("</b> ")
  12. .append(HtmlConverter.textToHtmlFragment(Address.toString(originalMessage.getRecipients(RecipientType.TO))))
  13. .append("<br>\r\n");
  14. if (originalMessage.getRecipients(RecipientType.CC) != null && originalMessage.getRecipients(RecipientType.CC).length != 0) {
  15. header.append("<b>").append(resourceProvider.messageHeaderCc()).append("</b> ")
  16. .append(HtmlConverter.textToHtmlFragment(Address.toString(originalMessage.getRecipients(RecipientType.CC))))
  17. .append("<br>\r\n");
  18. if (originalMessage.getSubject() != null) {
  19. header.append("<b>").append(resourceProvider.messageHeaderSubject()).append("</b> ")
  20. .append(HtmlConverter.textToHtmlFragment(originalMessage.getSubject()))
  21. .append("<br>\r\n");

代码示例来源:origin: k9mail/k-9

  1. @Override
  2. public boolean equals(Object o) {
  3. if (o == null || !(o instanceof Message)) {
  4. return false;
  5. }
  6. Message other = (Message)o;
  7. return (getUid().equals(other.getUid())
  8. && getFolder().getServerId().equals(other.getFolder().getServerId()));
  9. }

代码示例来源:origin: k9mail/k-9

  1. public void delete(List<? extends Message> msgs, String trashFolder) throws MessagingException {
  2. for (Message message : msgs) {
  3. Message myMessage = getMessage(message.getUid());
  4. myMessage.delete(trashFolder);
  5. }
  6. }

代码示例来源:origin: k9mail/k-9

  1. if (!message.isSet(Flag.X_DOWNLOADED_FULL)) {
  2. || message.getSize() < syncConfig.getMaximumAutoDownloadMessageSize()) {
  3. completeMessage = true;

相关文章