diff options
| author | Marc Blank <mblank@google.com> | 2012-01-17 15:35:42 -0800 |
|---|---|---|
| committer | Marc Blank <mblank@google.com> | 2012-01-17 15:38:24 -0800 |
| commit | c8afa2f5cbdcc9b3c59d93e9a8ab1bc1e75dd91f (patch) | |
| tree | 7d820029683ffe073731c4dda17d64db3b4dcb4a | |
| parent | 1d3f98c5229d0cb9f270a1601b71b8d887cf5416 (diff) | |
| download | android_packages_apps_Email-c8afa2f5cbdcc9b3c59d93e9a8ab1bc1e75dd91f.tar.gz android_packages_apps_Email-c8afa2f5cbdcc9b3c59d93e9a8ab1bc1e75dd91f.tar.bz2 android_packages_apps_Email-c8afa2f5cbdcc9b3c59d93e9a8ab1bc1e75dd91f.zip | |
Send attachments w/ UnifiedEmail outgoing mail
Change-Id: I471816dcaac1ab53aea1465dd69ae4453a1a0268
| -rw-r--r-- | Android.mk | 4 | ||||
| -rw-r--r-- | src/com/android/email/provider/EmailProvider.java | 28 |
2 files changed, 31 insertions, 1 deletions
diff --git a/Android.mk b/Android.mk index c59ed30ae..41c2a7b38 100644 --- a/Android.mk +++ b/Android.mk @@ -26,7 +26,9 @@ unified_email_src_dir := ../UnifiedEmail/src imported_unified_email_files := \ $(unified_email_src_dir)/com/android/mail/providers/UIProviderValidator.java \ - $(unified_email_src_dir)/com/android/mail/providers/UIProvider.java + $(unified_email_src_dir)/com/android/mail/providers/UIProvider.java \ + $(unified_email_src_dir)/com/android/mail/providers/Attachment.java \ + $(unified_email_src_dir)/com/android/mail/providers/Message.java LOCAL_MODULE_TAGS := optional diff --git a/src/com/android/email/provider/EmailProvider.java b/src/com/android/email/provider/EmailProvider.java index 10847fc34..67d2489b8 100644 --- a/src/com/android/email/provider/EmailProvider.java +++ b/src/com/android/email/provider/EmailProvider.java @@ -2999,6 +2999,22 @@ outer: return c; } + /** + * Convert a UIProvider attachment to an EmailProvider attachment (for sending); we only need + * a few of the fields + * @param uiAtt the UIProvider attachment to convert + * @return the EmailProvider attachment + */ + private Attachment convertUiAttachmentToAttachment( + com.android.mail.providers.Attachment uiAtt) { + Attachment att = new Attachment(); + att.mContentUri = uiAtt.contentUri; + att.mFileName = uiAtt.name; + att.mMimeType = uiAtt.mimeType; + att.mSize = uiAtt.size; + return att; + } + private int uiSendmail(Uri uri, ContentValues values) { Context context = getContext(); String accountName = uri.getPathSegments().get(1); @@ -3016,6 +3032,18 @@ outer: msg.mHtml = values.getAsString(UIProvider.MessageColumns.BODY_HTML); msg.mMailboxKey = mailbox.mId; msg.mAccountKey = mailbox.mAccountKey; + // Get attachments from the ContentValues + ArrayList<com.android.mail.providers.Attachment> uiAtts = + com.android.mail.providers.Attachment.getAttachmentsFromJoinedAttachmentInfo( + values.getAsString(UIProvider.MessageColumns.JOINED_ATTACHMENT_INFOS)); + ArrayList<Attachment> atts = new ArrayList<Attachment>(); + for (com.android.mail.providers.Attachment uiAtt: uiAtts) { + // Convert to our attachments and add to the list; everything else should "just work" + atts.add(convertUiAttachmentToAttachment(uiAtt)); + } + if (!atts.isEmpty()) { + msg.mAttachments = atts; + } // Save it msg.save(context); return 1; |
