From cd33b885aebf03559e1cb32e36e32d7888539eb3 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Sun, 2 May 2021 17:13:16 +0200 Subject: [PATCH] [xmlparser] Add SmackXmlParser.newXmlParser(InputStream) --- .../org/jivesoftware/smack/xml/SmackXmlParser.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/smack-xmlparser/src/main/java/org/jivesoftware/smack/xml/SmackXmlParser.java b/smack-xmlparser/src/main/java/org/jivesoftware/smack/xml/SmackXmlParser.java index 0e23fbea7..f71802d9f 100644 --- a/smack-xmlparser/src/main/java/org/jivesoftware/smack/xml/SmackXmlParser.java +++ b/smack-xmlparser/src/main/java/org/jivesoftware/smack/xml/SmackXmlParser.java @@ -16,7 +16,12 @@ */ package org.jivesoftware.smack.xml; +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; import java.io.Reader; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.StandardCharsets; import java.util.Iterator; import java.util.ServiceLoader; @@ -66,4 +71,10 @@ public class SmackXmlParser { return xmlPullParserFactory.newXmlPullParser(reader); } + public static XmlPullParser newXmlParser(InputStream inputStream) throws XmlPullParserException { + CharsetDecoder utf8Decoder = StandardCharsets.UTF_8.newDecoder(); + InputStreamReader inputStreamReader = new InputStreamReader(inputStream, utf8Decoder); + Reader reader = new BufferedReader(inputStreamReader); + return newXmlParser(reader); + } }