diff --git a/src/main/java/com/reandroid/lib/arsc/chunk/xml/ResXmlBlock.java b/src/main/java/com/reandroid/lib/arsc/chunk/xml/ResXmlBlock.java index 508a5c7..2fd56a6 100755 --- a/src/main/java/com/reandroid/lib/arsc/chunk/xml/ResXmlBlock.java +++ b/src/main/java/com/reandroid/lib/arsc/chunk/xml/ResXmlBlock.java @@ -48,6 +48,18 @@ public class ResXmlBlock extends BaseChunk implements JSONConvert { addChild(mResXmlIDMap); addChild(mResXmlElementContainer); } + public ResXmlElement createRootElement(String tag){ + int lineNo=1; + ResXmlElement resXmlElement=new ResXmlElement(); + resXmlElement.newStartElement(lineNo); + + setResXmlElement(resXmlElement); + + if(tag!=null){ + resXmlElement.setTag(tag); + } + return resXmlElement; + } void linkStringReferences(){ ResXmlElement element=getResXmlElement(); if(element!=null){ diff --git a/src/main/java/com/reandroid/lib/arsc/chunk/xml/ResXmlElement.java b/src/main/java/com/reandroid/lib/arsc/chunk/xml/ResXmlElement.java index 254e344..fe5b1ca 100755 --- a/src/main/java/com/reandroid/lib/arsc/chunk/xml/ResXmlElement.java +++ b/src/main/java/com/reandroid/lib/arsc/chunk/xml/ResXmlElement.java @@ -55,6 +55,9 @@ import java.util.*; addChild(4, mEndElementContainer); addChild(5, mEndNamespaceList); } + public ResXmlAttribute newAttribute(){ + return getStartElement().newAttribute(); + } Set clearStringReferences(){ Set results=new HashSet<>(); for(ResXmlStartNamespace startNamespace:getStartNamespaceList()){ @@ -229,6 +232,9 @@ import java.util.*; public void addElement(ResXmlElement element){ mBody.add(element); } + public boolean removeAttribute(ResXmlAttribute resXmlAttribute){ + return getStartElement().getResXmlAttributeArray().remove(resXmlAttribute); + } public boolean removeElement(ResXmlElement element){ if(element.getParent()!=null){ // TODO: Find a way to remove properly from StringPool @@ -330,7 +336,7 @@ import java.util.*; mEndNamespaceList.add(item); } - private ResXmlStartElement newStartElement(int lineNo){ + ResXmlStartElement newStartElement(int lineNo){ ResXmlStartElement startElement=new ResXmlStartElement(); setStartElement(startElement); diff --git a/src/main/java/com/reandroid/lib/arsc/chunk/xml/ResXmlStartElement.java b/src/main/java/com/reandroid/lib/arsc/chunk/xml/ResXmlStartElement.java index 731f93e..32ee394 100755 --- a/src/main/java/com/reandroid/lib/arsc/chunk/xml/ResXmlStartElement.java +++ b/src/main/java/com/reandroid/lib/arsc/chunk/xml/ResXmlStartElement.java @@ -50,6 +50,10 @@ import java.util.Set; addChild(mStyleAttributePosition); addChild(mAttributeArray); } + public ResXmlAttribute newAttribute(){ + ResXmlAttributeArray attributeArray = getResXmlAttributeArray(); + return attributeArray.createNext(); + } @Override void linkStringReferences(){ super.linkStringReferences();