From a67c8cd581e00a28661f7b727bf74727c9a7f688 Mon Sep 17 00:00:00 2001 From: Tom Taylor Date: Thu, 17 Sep 2009 16:39:27 -0700 Subject: [PATCH] Save message size Save the message size in the pdu. --- .../google/android/mms/pdu/PduPersister.java | 7 ++++++- .../com/google/android/mms/pdu/SendReq.java | 20 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) 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