am d66b4657
: Fix loading the quoted text when editing draft.
Merge commit 'd66b465776261b3313c4b3bb3ef7c3954ebb08e4' into eclair-plus-aosp * commit 'd66b465776261b3313c4b3bb3ef7c3954ebb08e4': Fix loading the quoted text when editing draft.
This commit is contained in:
commit
2c76c92608
@ -335,7 +335,6 @@ public class MessageCompose extends Activity implements OnClickListener, OnFocus
|
|||||||
cancelTask(mLoadMessageTask);
|
cancelTask(mLoadMessageTask);
|
||||||
mLoadMessageTask = null;
|
mLoadMessageTask = null;
|
||||||
// don't cancel mSaveMessageTask, let it do its job to the end.
|
// don't cancel mSaveMessageTask, let it do its job to the end.
|
||||||
// cancelTask(mSaveMessageTask);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -505,6 +504,17 @@ public class MessageCompose extends Activity implements OnClickListener, OnFocus
|
|||||||
// Body body = Body.restoreBodyWithMessageId(MessageCompose.this, message.mId);
|
// Body body = Body.restoreBodyWithMessageId(MessageCompose.this, message.mId);
|
||||||
message.mHtml = Body.restoreBodyHtmlWithMessageId(MessageCompose.this, message.mId);
|
message.mHtml = Body.restoreBodyHtmlWithMessageId(MessageCompose.this, message.mId);
|
||||||
message.mText = Body.restoreBodyTextWithMessageId(MessageCompose.this, message.mId);
|
message.mText = Body.restoreBodyTextWithMessageId(MessageCompose.this, message.mId);
|
||||||
|
boolean isEditDraft = ACTION_EDIT_DRAFT.equals(getIntent().getAction());
|
||||||
|
// the reply fields are only filled/used for Drafts.
|
||||||
|
if (isEditDraft) {
|
||||||
|
message.mHtmlReply =
|
||||||
|
Body.restoreHtmlReplyWithMessageId(MessageCompose.this, message.mId);
|
||||||
|
message.mTextReply =
|
||||||
|
Body.restoreTextReplyWithMessageId(MessageCompose.this, message.mId);
|
||||||
|
} else {
|
||||||
|
message.mHtmlReply = null;
|
||||||
|
message.mTextReply = null;
|
||||||
|
}
|
||||||
} catch (RuntimeException e) {
|
} catch (RuntimeException e) {
|
||||||
Log.d(Email.LOG_TAG, "Exception while loading message body: " + e);
|
Log.d(Email.LOG_TAG, "Exception while loading message body: " + e);
|
||||||
return null;
|
return null;
|
||||||
@ -590,21 +600,6 @@ public class MessageCompose extends Activity implements OnClickListener, OnFocus
|
|||||||
return addresses;
|
return addresses;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ContentValues getUpdateContentValues(Message message) {
|
|
||||||
ContentValues values = new ContentValues();
|
|
||||||
values.put(MessageColumns.TIMESTAMP, message.mTimeStamp);
|
|
||||||
values.put(MessageColumns.FROM_LIST, message.mFrom);
|
|
||||||
values.put(MessageColumns.TO_LIST, message.mTo);
|
|
||||||
values.put(MessageColumns.CC_LIST, message.mCc);
|
|
||||||
values.put(MessageColumns.BCC_LIST, message.mBcc);
|
|
||||||
values.put(MessageColumns.SUBJECT, message.mSubject);
|
|
||||||
values.put(MessageColumns.DISPLAY_NAME, message.mDisplayName);
|
|
||||||
values.put(MessageColumns.FLAG_LOADED, message.mFlagLoaded);
|
|
||||||
values.put(MessageColumns.FLAG_ATTACHMENT, message.mFlagAttachment);
|
|
||||||
values.put(MessageColumns.FLAGS, message.mFlags);
|
|
||||||
return values;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Computes a short string indicating the destination of the message based on To, Cc, Bcc.
|
* Computes a short string indicating the destination of the message based on To, Cc, Bcc.
|
||||||
* If only one address appears, returns the friendly form of that address.
|
* If only one address appears, returns the friendly form of that address.
|
||||||
@ -630,6 +625,21 @@ public class MessageCompose extends Activity implements OnClickListener, OnFocus
|
|||||||
return this.getString(R.string.message_compose_display_name, friendly, nRecipients - 1);
|
return this.getString(R.string.message_compose_display_name, friendly, nRecipients - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private ContentValues getUpdateContentValues(Message message) {
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put(MessageColumns.TIMESTAMP, message.mTimeStamp);
|
||||||
|
values.put(MessageColumns.FROM_LIST, message.mFrom);
|
||||||
|
values.put(MessageColumns.TO_LIST, message.mTo);
|
||||||
|
values.put(MessageColumns.CC_LIST, message.mCc);
|
||||||
|
values.put(MessageColumns.BCC_LIST, message.mBcc);
|
||||||
|
values.put(MessageColumns.SUBJECT, message.mSubject);
|
||||||
|
values.put(MessageColumns.DISPLAY_NAME, message.mDisplayName);
|
||||||
|
values.put(MessageColumns.FLAG_LOADED, message.mFlagLoaded);
|
||||||
|
values.put(MessageColumns.FLAG_ATTACHMENT, message.mFlagAttachment);
|
||||||
|
values.put(MessageColumns.FLAGS, message.mFlags);
|
||||||
|
return values;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param message The message to be updated.
|
* @param message The message to be updated.
|
||||||
* @param account the account (used to obtain From: address).
|
* @param account the account (used to obtain From: address).
|
||||||
@ -1123,9 +1133,9 @@ public class MessageCompose extends Activity implements OnClickListener, OnFocus
|
|||||||
}
|
}
|
||||||
|
|
||||||
// used by processSourceMessage()
|
// used by processSourceMessage()
|
||||||
private void displayQuotedText(Message message) {
|
private void displayQuotedText(String textBody, String htmlBody) {
|
||||||
boolean plainTextFlag = message.mHtml == null;
|
boolean plainTextFlag = htmlBody == null;
|
||||||
String text = plainTextFlag ? message.mText : message.mHtml;
|
String text = plainTextFlag ? textBody : htmlBody;
|
||||||
if (text != null) {
|
if (text != null) {
|
||||||
text = plainTextFlag ? EmailHtmlUtil.escapeCharacterToDisplay(text) : text;
|
text = plainTextFlag ? EmailHtmlUtil.escapeCharacterToDisplay(text) : text;
|
||||||
// TODO: re-enable EmailHtmlUtil.resolveInlineImage() for HTML
|
// TODO: re-enable EmailHtmlUtil.resolveInlineImage() for HTML
|
||||||
@ -1213,11 +1223,11 @@ public class MessageCompose extends Activity implements OnClickListener, OnFocus
|
|||||||
mSubjectView.setText(subject);
|
mSubjectView.setText(subject);
|
||||||
}
|
}
|
||||||
|
|
||||||
displayQuotedText(message);
|
displayQuotedText(message.mText, message.mHtml);
|
||||||
} else if (ACTION_FORWARD.equals(action)) {
|
} else if (ACTION_FORWARD.equals(action)) {
|
||||||
mSubjectView.setText(subject != null && !subject.toLowerCase().startsWith("fwd:") ?
|
mSubjectView.setText(subject != null && !subject.toLowerCase().startsWith("fwd:") ?
|
||||||
"Fwd: " + subject : subject);
|
"Fwd: " + subject : subject);
|
||||||
displayQuotedText(message);
|
displayQuotedText(message.mText, message.mHtml);
|
||||||
if (!mSourceMessageProcessed) {
|
if (!mSourceMessageProcessed) {
|
||||||
// TODO: re-enable loadAttachments below
|
// TODO: re-enable loadAttachments below
|
||||||
// if (!loadAttachments(message, 0)) {
|
// if (!loadAttachments(message, 0)) {
|
||||||
@ -1238,9 +1248,8 @@ public class MessageCompose extends Activity implements OnClickListener, OnFocus
|
|||||||
mBccView.setVisibility(View.VISIBLE);
|
mBccView.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: why not the same text handling as in displayQuotedText() ?
|
|
||||||
mMessageContentView.setText(message.mText);
|
mMessageContentView.setText(message.mText);
|
||||||
|
displayQuotedText(message.mTextReply, message.mHtmlReply);
|
||||||
if (!mSourceMessageProcessed) {
|
if (!mSourceMessageProcessed) {
|
||||||
// TODO: re-enable loadAttachments
|
// TODO: re-enable loadAttachments
|
||||||
// loadAttachments(message, 0);
|
// loadAttachments(message, 0);
|
||||||
|
@ -210,16 +210,22 @@ public abstract class EmailContent {
|
|||||||
BodyColumns.INTRO_TEXT
|
BodyColumns.INTRO_TEXT
|
||||||
};
|
};
|
||||||
|
|
||||||
public static final int TEXT_TEXT_COLUMN = 1;
|
|
||||||
public static final String[] TEXT_PROJECTION = new String[] {
|
public static final String[] TEXT_PROJECTION = new String[] {
|
||||||
RECORD_ID, BodyColumns.TEXT_CONTENT
|
RECORD_ID, BodyColumns.TEXT_CONTENT
|
||||||
};
|
};
|
||||||
|
|
||||||
public static final int HTML_HTML_COLUMN = 1;
|
|
||||||
public static final String[] HTML_PROJECTION = new String[] {
|
public static final String[] HTML_PROJECTION = new String[] {
|
||||||
RECORD_ID, BodyColumns.HTML_CONTENT
|
RECORD_ID, BodyColumns.HTML_CONTENT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public static final String[] HTML_REPLY_PROJECTION = new String[] {
|
||||||
|
RECORD_ID, BodyColumns.HTML_REPLY
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final String[] TEXT_REPLY_PROJECTION = new String[] {
|
||||||
|
RECORD_ID, BodyColumns.TEXT_REPLY
|
||||||
|
};
|
||||||
|
|
||||||
public static final int COMMON_TEXT_COLUMN = 1;
|
public static final int COMMON_TEXT_COLUMN = 1;
|
||||||
|
|
||||||
public long mMessageKey;
|
public long mMessageKey;
|
||||||
@ -330,6 +336,14 @@ public abstract class EmailContent {
|
|||||||
return restoreTextWithMessageId(context, messageId, Body.HTML_PROJECTION);
|
return restoreTextWithMessageId(context, messageId, Body.HTML_PROJECTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String restoreTextReplyWithMessageId(Context context, long messageId) {
|
||||||
|
return restoreTextWithMessageId(context, messageId, Body.TEXT_REPLY_PROJECTION);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String restoreHtmlReplyWithMessageId(Context context, long messageId) {
|
||||||
|
return restoreTextWithMessageId(context, messageId, Body.HTML_REPLY_PROJECTION);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public EmailContent.Body restore(Cursor c) {
|
public EmailContent.Body restore(Cursor c) {
|
||||||
|
Loading…
Reference in New Issue
Block a user