From 46eef4589ddbee8e3da7719d6ba7044dd1031a4f Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Sat, 2 May 2009 22:30:08 +0000 Subject: [PATCH] Fixed issue 160 - Applied a patch to enable K9 to respond to addtional SEND intents --- AndroidManifest.xml | 10 ++++ .../email/activity/MessageCompose.java | 58 ++++++++++++++++++- 2 files changed, 66 insertions(+), 2 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index b64a3fe70..40eb46b0e 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -132,6 +132,16 @@ + + + + + + + + + + diff --git a/src/com/android/email/activity/MessageCompose.java b/src/com/android/email/activity/MessageCompose.java index 747d05ad1..f365ab35e 100644 --- a/src/com/android/email/activity/MessageCompose.java +++ b/src/com/android/email/activity/MessageCompose.java @@ -389,8 +389,62 @@ public class MessageCompose extends Activity implements OnClickListener, OnFocus addAttachment(stream); } } - } - else { + + /* + * There might be an EXTRA_SUBJECT, EXTRA_TEXT, EXTRA_EMAIL, EXTRA_BCC or EXTRA_CC + */ + + String extraSubject = intent.getStringExtra(Intent.EXTRA_SUBJECT); + String extraText = intent.getStringExtra(Intent.EXTRA_TEXT); + String[] extraEmail = intent.getStringArrayExtra(Intent.EXTRA_EMAIL); + String[] extraBcc = intent.getStringArrayExtra(Intent.EXTRA_BCC); + String[] extraCc = intent.getStringArrayExtra(Intent.EXTRA_CC); + + String addressList = new String(); + // Cache array size, as per Google's recommendations. + int arraySize; + int i; + + mSubjectView.setText(extraSubject); + mMessageContentView.setText(extraText); + + if (extraEmail != null){ + arraySize = extraEmail.length; + if (arraySize > 1){ + for (i=0; i < (arraySize-1); i++) { + addressList += extraEmail[i]+", "; + } + addressList += extraEmail[arraySize-1]; + } + } + mToView.setText(addressList); + addressList = ""; + + if (extraBcc != null){ + arraySize = extraBcc.length; + if (arraySize > 1){ + for (i=0; i < (arraySize-1); i++) { + addressList += extraBcc[i]+", "; + } + addressList += extraBcc[arraySize-1]; + } + } + mBccView.setText(addressList); + addressList = ""; + + if (extraCc != null){ + arraySize = extraCc.length; + if (arraySize > 1){ + for (i=0; i < (arraySize-1); i++) { + addressList += extraCc[i]+", "; + } + addressList += extraCc[arraySize-1]; + } + } + mCcView.setText(addressList); + addressList = ""; + + } else { mAccount = (Account) intent.getSerializableExtra(EXTRA_ACCOUNT); mFolder = (String) intent.getStringExtra(EXTRA_FOLDER); mSourceMessageUid = (String) intent.getStringExtra(EXTRA_MESSAGE);