Merge "Revert "Oops; forgot my latest changes...""
diff --git a/src/com/android/mail/compose/ComposeActivity.java b/src/com/android/mail/compose/ComposeActivity.java
index 459d3cf..5b18349 100644
--- a/src/com/android/mail/compose/ComposeActivity.java
+++ b/src/com/android/mail/compose/ComposeActivity.java
@@ -118,6 +118,8 @@
private static final String EXTRA_BODY = "body";
+ private static final String EXTRA_FROM_ACCOUNT_STRING = "fromAccountString";
+
// Extra that we can get passed from other activities
private static final String EXTRA_TO = "to";
private static final String EXTRA_CC = "cc";
@@ -494,8 +496,8 @@
message.snippet = null;
message.from = selectedReplyFromAccount.name;
message.to = mTo.getText().toString();
- message.cc = mTo.getText().toString();
- message.bcc = mTo.getText().toString();
+ message.cc = mCc.getText().toString();
+ message.bcc = mBcc.getText().toString();
message.replyTo = null;
message.dateReceivedMs = 0;
String htmlBody = Html.toHtml(mBodyView.getText());
@@ -534,13 +536,19 @@
}
private void initFromSpinner(Bundle bundle, int action) {
+ String accountString = null;
if (action == EDIT_DRAFT && mDraft.draftType == UIProvider.DraftType.COMPOSE) {
action = COMPOSE;
}
mFromSpinner.asyncInitFromSpinner(action, mAccount);
- if (bundle != null && bundle.containsKey(EXTRA_SELECTED_REPLY_FROM_ACCOUNT)) {
- mReplyFromAccount = ReplyFromAccount.deserialize(mAccount,
- bundle.getString(EXTRA_SELECTED_REPLY_FROM_ACCOUNT));
+ if (bundle != null) {
+ if (bundle.containsKey(EXTRA_SELECTED_REPLY_FROM_ACCOUNT)) {
+ mReplyFromAccount = ReplyFromAccount.deserialize(mAccount,
+ bundle.getString(EXTRA_SELECTED_REPLY_FROM_ACCOUNT));
+ } else if (bundle.containsKey(EXTRA_FROM_ACCOUNT_STRING)) {
+ accountString = bundle.getString(EXTRA_FROM_ACCOUNT_STRING);
+ mReplyFromAccount = mFromSpinner.getMatchingReplyFromAccount(accountString);
+ }
}
if (mReplyFromAccount == null) {
if (mDraft != null) {
@@ -553,7 +561,9 @@
mReplyFromAccount = new ReplyFromAccount(mAccount, mAccount.uri, mAccount.name,
mAccount.name, true, false);
}
+
mFromSpinner.setCurrentAccount(mReplyFromAccount);
+
if (mFromSpinner.getCount() > 1) {
// If there is only 1 account, just show that account.
// Otherwise, give the user the ability to choose which account to
diff --git a/src/com/android/mail/compose/FromAddressSpinner.java b/src/com/android/mail/compose/FromAddressSpinner.java
index 2abafd6..ec8cd11 100644
--- a/src/com/android/mail/compose/FromAddressSpinner.java
+++ b/src/com/android/mail/compose/FromAddressSpinner.java
@@ -71,6 +71,17 @@
}
}
+ public ReplyFromAccount getMatchingReplyFromAccount(String accountString) {
+ if (!TextUtils.isEmpty(accountString)) {
+ for (ReplyFromAccount acct : mReplyFromAccounts) {
+ if (accountString.equals(acct.name)) {
+ return acct;
+ }
+ }
+ }
+ return null;
+ }
+
public ReplyFromAccount getCurrentAccount() {
return mAccount;
}