OSDN Git Service

Should accept "application/vnd.wap.multipart.alternative" message.
authortakuo <kitame@gmail.com>
Tue, 1 Jun 2010 09:56:54 +0000 (18:56 +0900)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Fri, 5 Aug 2011 08:05:31 +0000 (16:05 +0800)
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

index 6df4c63..3f185aa 100755 (executable)
@@ -165,6 +165,13 @@ public class PduParser {
                     // or "application/vnd.wap.multipart.related"
                     // or "application/vnd.wap.multipart.alternative"
                     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: