Check for ArrayIndexOutOfBoundsException

Quoted text pos may be out of bounds of message body.
This may be caused by the pos being calculated in html while the message is being
sent as plain text. A seperate CL will attempt to address the root cause. This
is a last resort so we don't crash.

Bug: 11538910
Change-Id: I326ebe56ee15368983caa2fa76605e7658dab014
This commit is contained in:
Alon Albert 2013-11-12 15:33:45 -08:00
parent 33efdd7dad
commit cde694c5e1
1 changed files with 8 additions and 3 deletions

View File

@ -94,11 +94,16 @@ public class Rfc822Output {
return new String[2];
}
String[] messageBody = new String[] { body.mTextContent, body.mHtmlContent };
if (useSmartReply && body.mQuotedTextStartPos > 0) {
final int pos = body.mQuotedTextStartPos;
if (useSmartReply && pos > 0) {
if (messageBody[0] != null) {
messageBody[0] = messageBody[0].substring(0, body.mQuotedTextStartPos);
if (pos < messageBody[0].length()) {
messageBody[0] = messageBody[0].substring(0, pos);
}
} else if (messageBody[1] != null) {
messageBody[1] = messageBody[1].substring(0, body.mQuotedTextStartPos);
if (pos < messageBody[1].length()) {
messageBody[1] = messageBody[1].substring(0, pos);
}
}
}
return messageBody;