diff --git a/core/java/com/google/android/mms/pdu/PduPersister.java b/core/java/com/google/android/mms/pdu/PduPersister.java index df91ea675a28f..568aeb718b63c 100644 --- a/core/java/com/google/android/mms/pdu/PduPersister.java +++ b/core/java/com/google/android/mms/pdu/PduPersister.java @@ -810,7 +810,7 @@ public class PduPersister { public void updateHeaders(Uri uri, SendReq sendReq) { PDU_CACHE_INSTANCE.purge(uri); - ContentValues values = new ContentValues(9); + ContentValues values = new ContentValues(10); byte[] contentType = sendReq.getContentType(); if (contentType != null) { values.put(Mms.CONTENT_TYPE, toIsoString(contentType)); @@ -856,6 +856,11 @@ public class PduPersister { values.put(Mms.SUBJECT, toIsoString(subject.getTextString())); values.put(Mms.SUBJECT_CHARSET, subject.getCharacterSet()); } + + long messageSize = sendReq.getMessageSize(); + if (messageSize > 0) { + values.put(Mms.MESSAGE_SIZE, messageSize); + } PduHeaders headers = sendReq.getPduHeaders(); HashSet recipients = new HashSet(); diff --git a/core/java/com/google/android/mms/pdu/SendReq.java b/core/java/com/google/android/mms/pdu/SendReq.java index 9081b0c233bcd..9ea6e471382c6 100644 --- a/core/java/com/google/android/mms/pdu/SendReq.java +++ b/core/java/com/google/android/mms/pdu/SendReq.java @@ -205,6 +205,26 @@ public class SendReq extends MultimediaMessagePdu { mPduHeaders.setLongInteger(value, PduHeaders.EXPIRY); } + /** + * Get X-Mms-MessageSize value. + * + * Expiry-value = size of message + * + * @return the value + */ + public long getMessageSize() { + return mPduHeaders.getLongInteger(PduHeaders.MESSAGE_SIZE); + } + + /** + * Set X-Mms-MessageSize value. + * + * @param value the value + */ + public void setMessageSize(long value) { + mPduHeaders.setLongInteger(value, PduHeaders.MESSAGE_SIZE); + } + /** * Get From value. * From-value = Value-length