summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryingying <yingying@codeaurora.org>2014-04-18 17:17:58 +0800
committerAdnan <adnan@cyngn.com>2014-09-03 15:39:08 -0700
commit82eaab08570f01d6a1b3819cc65a475093493487 (patch)
tree8119951c8bb0343a80a9fa598380b0f35c713cb1
parent21ca637d77bfe781c73b2d3068bb6ef38789ff77 (diff)
downloadandroid_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.java8
-rw-r--r--src/com/android/email/activity/setup/GeneralPreferences.java2
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));