summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--graphics/java/android/graphics/drawable/VectorDrawable.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/graphics/java/android/graphics/drawable/VectorDrawable.java b/graphics/java/android/graphics/drawable/VectorDrawable.java
index 07f8fe5..be02c9b 100644
--- a/graphics/java/android/graphics/drawable/VectorDrawable.java
+++ b/graphics/java/android/graphics/drawable/VectorDrawable.java
@@ -364,13 +364,19 @@ public class VectorDrawable extends Drawable {
/** @hide */
public static VectorDrawable create(Resources resources, int rid) {
try {
- final XmlPullParser xpp = resources.getXml(rid);
- final AttributeSet attrs = Xml.asAttributeSet(xpp);
- final XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
- factory.setNamespaceAware(true);
+ final XmlPullParser parser = resources.getXml(rid);
+ final AttributeSet attrs = Xml.asAttributeSet(parser);
+ int type;
+ while ((type=parser.next()) != XmlPullParser.START_TAG &&
+ type != XmlPullParser.END_DOCUMENT) {
+ // Empty loop
+ }
+ if (type != XmlPullParser.START_TAG) {
+ throw new XmlPullParserException("No start tag found");
+ }
final VectorDrawable drawable = new VectorDrawable();
- drawable.inflate(resources, xpp, attrs);
+ drawable.inflate(resources, parser, attrs);
return drawable;
} catch (XmlPullParserException e) {