diff options
| author | yingying <yingying@codeaurora.org> | 2014-04-18 17:17:58 +0800 |
|---|---|---|
| committer | Adnan <adnan@cyngn.com> | 2014-09-03 15:39:08 -0700 |
| commit | 82eaab08570f01d6a1b3819cc65a475093493487 (patch) | |
| tree | 8119951c8bb0343a80a9fa598380b0f35c713cb1 | |
| parent | 21ca637d77bfe781c73b2d3068bb6ef38789ff77 (diff) | |
| download | android_packages_apps_Email-82eaab08570f01d6a1b3819cc65a475093493487.tar.gz android_packages_apps_Email-82eaab08570f01d6a1b3819cc65a475093493487.tar.bz2 android_packages_apps_Email-82eaab08570f01d6a1b3819cc65a475093493487.zip | |
Email: Encoded the name of the attachment files.
Caused by the file maybe not named by the English alphabet.
So accroding to RFC822, need encoded it.
CRs-fixed: 648698
Change-Id: I5c0d337323b6db28bfa51abfb732e2f8bc25735f
| -rw-r--r-- | emailcommon/src/com/android/emailcommon/internet/Rfc822Output.java | 8 | ||||
| -rw-r--r-- | src/com/android/email/activity/setup/GeneralPreferences.java | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/emailcommon/src/com/android/emailcommon/internet/Rfc822Output.java b/emailcommon/src/com/android/emailcommon/internet/Rfc822Output.java index ce02d105b..cf8b21fb0 100644 --- a/emailcommon/src/com/android/emailcommon/internet/Rfc822Output.java +++ b/emailcommon/src/com/android/emailcommon/internet/Rfc822Output.java @@ -214,15 +214,17 @@ public class Rfc822Output { */ private static void writeOneAttachment(Context context, Writer writer, OutputStream out, Attachment attachment) throws IOException, MessagingException { - writeHeader(writer, "Content-Type", - attachment.mMimeType + ";\n name=\"" + attachment.mFileName + "\""); + // Caused by the file maybe not named by the English alphabet, + // so according to RFC822, need encoded it. + writeHeader(writer, "Content-Type", attachment.mMimeType + + ";\n name=\"" + MimeUtility.foldAndEncode2(attachment.mFileName, 0) + "\""); writeHeader(writer, "Content-Transfer-Encoding", "base64"); // Most attachments (real files) will send Content-Disposition. The suppression option // is used when sending calendar invites. if ((attachment.mFlags & Attachment.FLAG_ICS_ALTERNATIVE_PART) == 0) { writeHeader(writer, "Content-Disposition", "attachment;" - + "\n filename=\"" + attachment.mFileName + "\";" + + "\n filename=\"" + MimeUtility.foldAndEncode2(attachment.mFileName, 0) + "\";" + "\n size=" + Long.toString(attachment.mSize)); } if (attachment.mContentId != null) { diff --git a/src/com/android/email/activity/setup/GeneralPreferences.java b/src/com/android/email/activity/setup/GeneralPreferences.java index 2891c16cf..48602705c 100644 --- a/src/com/android/email/activity/setup/GeneralPreferences.java +++ b/src/com/android/email/activity/setup/GeneralPreferences.java @@ -29,6 +29,7 @@ import android.text.TextUtils; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; + import com.android.email.Preferences; import com.android.email.R; import com.android.email.provider.EmailProvider; @@ -178,6 +179,7 @@ public class GeneralPreferences extends PreferenceFragment implements public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { menu.clear(); inflater.inflate(R.menu.general_prefs_fragment_menu, menu); + MenuItem feedbackMenuItem = menu.findItem(R.id.feedback_menu_item); Uri feedbackUri = Utils.getValidUri(getString(R.string.email_feedback_uri)); |
