diff options
| author | Neil Fuller <nfuller@google.com> | 2018-07-10 18:41:19 +0100 |
|---|---|---|
| committer | Neil Fuller <nfuller@google.com> | 2018-07-11 13:50:42 +0100 |
| commit | 2f5a6895c552b41b78076c889ca6149b26bb17cf (patch) | |
| tree | a051a5c4b5b7cda5cc18ae97cfa9232593c88bef /core/java/android/util | |
| parent | 9a936e967760e0d9e7787f0a4642c692c6d5c969 (diff) | |
Move XML object factory logic to libcore
It makes sense to hide the details of the parser implementation
(and other similar objects) in libcore so it could be changed.
This change removes the "ExpatPerformanceTest" which appears not to have
been maintained and was comparing KxmlParser with itself. It is assumed
that android.util.Xml used to return the expat parser.
Test: build
Bug: 111055375
Change-Id: Ibad247323ba90cd949aecb2bd92f2f73306a4327
Diffstat (limited to 'core/java/android/util')
| -rw-r--r-- | core/java/android/util/Xml.java | 46 |
1 files changed, 14 insertions, 32 deletions
diff --git a/core/java/android/util/Xml.java b/core/java/android/util/Xml.java index 041e8a85aafe..e3b8fec3559e 100644 --- a/core/java/android/util/Xml.java +++ b/core/java/android/util/Xml.java @@ -16,27 +16,27 @@ package android.util; -import java.io.IOException; -import java.io.InputStream; -import java.io.Reader; -import java.io.StringReader; -import java.io.UnsupportedEncodingException; -import org.apache.harmony.xml.ExpatReader; -import org.kxml2.io.KXmlParser; +import libcore.util.XmlObjectFactory; + import org.xml.sax.ContentHandler; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.XMLReader; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; -import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlSerializer; +import java.io.IOException; +import java.io.InputStream; +import java.io.Reader; +import java.io.StringReader; +import java.io.UnsupportedEncodingException; + /** * XML utility methods. */ public class Xml { - /** @hide */ public Xml() {} + private Xml() {} /** * {@link org.xmlpull.v1.XmlPullParser} "relaxed" feature name. @@ -52,7 +52,7 @@ public class Xml { public static void parse(String xml, ContentHandler contentHandler) throws SAXException { try { - XMLReader reader = new ExpatReader(); + XMLReader reader = XmlObjectFactory.newXMLReader(); reader.setContentHandler(contentHandler); reader.parse(new InputSource(new StringReader(xml))); } catch (IOException e) { @@ -66,7 +66,7 @@ public class Xml { */ public static void parse(Reader in, ContentHandler contentHandler) throws IOException, SAXException { - XMLReader reader = new ExpatReader(); + XMLReader reader = XmlObjectFactory.newXMLReader(); reader.setContentHandler(contentHandler); reader.parse(new InputSource(in)); } @@ -77,7 +77,7 @@ public class Xml { */ public static void parse(InputStream in, Encoding encoding, ContentHandler contentHandler) throws IOException, SAXException { - XMLReader reader = new ExpatReader(); + XMLReader reader = XmlObjectFactory.newXMLReader(); reader.setContentHandler(contentHandler); InputSource source = new InputSource(in); source.setEncoding(encoding.expatName); @@ -89,7 +89,7 @@ public class Xml { */ public static XmlPullParser newPullParser() { try { - KXmlParser parser = new KXmlParser(); + XmlPullParser parser = XmlObjectFactory.newXmlPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_DOCDECL, true); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true); return parser; @@ -102,25 +102,7 @@ public class Xml { * Creates a new xml serializer. */ public static XmlSerializer newSerializer() { - try { - return XmlSerializerFactory.instance.newSerializer(); - } catch (XmlPullParserException e) { - throw new AssertionError(e); - } - } - - /** Factory for xml serializers. Initialized on demand. */ - static class XmlSerializerFactory { - static final String TYPE - = "org.kxml2.io.KXmlParser,org.kxml2.io.KXmlSerializer"; - static final XmlPullParserFactory instance; - static { - try { - instance = XmlPullParserFactory.newInstance(TYPE, null); - } catch (XmlPullParserException e) { - throw new AssertionError(e); - } - } + return XmlObjectFactory.newXmlSerializer(); } /** |
