synchronized parser

This commit is contained in:
REAndroid 2023-01-10 09:06:38 -05:00
parent c0a02f1f55
commit d96c4cb4ff

View File

@ -21,12 +21,14 @@ import java.io.IOException;
import java.io.StringReader; import java.io.StringReader;
public class XMLSpanParser { public class XMLSpanParser {
private final Object mLock = new Object();
private final XmlPullParser mParser; private final XmlPullParser mParser;
private XMLElement mCurrentElement; private XMLElement mCurrentElement;
public XMLSpanParser(){ public XMLSpanParser(){
this.mParser = new MXParserNonValidating(); this.mParser = new MXParserNonValidating();
} }
public XMLElement parse(String text) throws XMLException { public XMLElement parse(String text) throws XMLException {
synchronized (mLock){
try { try {
text="<spannable-parser>"+text+"</spannable-parser>"; text="<spannable-parser>"+text+"</spannable-parser>";
parseString(text); parseString(text);
@ -37,6 +39,7 @@ public class XMLSpanParser {
mCurrentElement=null; mCurrentElement=null;
return element; return element;
} }
}
private void parseString(String text) throws XmlPullParserException, IOException { private void parseString(String text) throws XmlPullParserException, IOException {
mCurrentElement=null; mCurrentElement=null;
StringReader reader=new StringReader(text); StringReader reader=new StringReader(text);