From 14f1eb57db8c2b541a7e110cbf5a4eaf9cacc6b3 Mon Sep 17 00:00:00 2001 From: takuo Date: Tue, 1 Jun 2010 18:56:54 +0900 Subject: [PATCH] Should accept "application/vnd.wap.multipart.alternative" message. Unfortunately, PduParser does not allow application/vnd.wap.multipart.alternative as M-RETRIEVE.CONF but some Mobile carrier send message with this type. This patch allows that and take the first part of multipart as message body. It fixes http://code.google.com/p/android/issues/detail?id=8957 Change-Id: Ic93259c91331d1e67100439114b7c4f43a834368 --- core/java/com/google/android/mms/pdu/PduParser.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/java/com/google/android/mms/pdu/PduParser.java b/core/java/com/google/android/mms/pdu/PduParser.java index 1cd118b56ac62..92d5cc42db6ea 100644 --- a/core/java/com/google/android/mms/pdu/PduParser.java +++ b/core/java/com/google/android/mms/pdu/PduParser.java @@ -161,6 +161,13 @@ public class PduParser { // The MMS content type must be "application/vnd.wap.multipart.mixed" // or "application/vnd.wap.multipart.related" return retrieveConf; + } else if (ctTypeStr.equals(ContentType.MULTIPART_ALTERNATIVE)) { + // "application/vnd.wap.multipart.alternative" + // should take only the first part. + PduPart firstPart = mBody.getPart(0); + mBody.removeAll(); + mBody.addPart(0, firstPart); + return retrieveConf; } return null; case PduHeaders.MESSAGE_TYPE_DELIVERY_IND: