fix: resolve class cast exception introduced in CodeWriter refactoring (#810)

This commit is contained in:
Skylot
2019-12-22 16:04:28 +00:00
parent 9c88f70740
commit 0c55ab9001
2 changed files with 5 additions and 6 deletions
@@ -9,7 +9,6 @@ import org.jetbrains.annotations.NotNull;
import jadx.api.ICodeInfo;
import jadx.api.ResourceFile;
import jadx.core.codegen.CodeWriter;
public class ResContainer implements Comparable<ResContainer> {
@@ -34,7 +33,7 @@ public class ResContainer implements Comparable<ResContainer> {
return new ResContainer(resFile.getName(), Collections.emptyList(), resFile, DataType.RES_LINK);
}
public static ResContainer resourceTable(String name, List<ResContainer> subFiles, CodeWriter rootContent) {
public static ResContainer resourceTable(String name, List<ResContainer> subFiles, ICodeInfo rootContent) {
return new ResContainer(name, subFiles, rootContent, DataType.RES_TABLE);
}
@@ -10,6 +10,7 @@ import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import jadx.api.ICodeInfo;
import jadx.core.codegen.CodeWriter;
import jadx.core.dex.attributes.AFlag;
import jadx.core.dex.nodes.FieldNode;
@@ -73,12 +74,12 @@ public class ResTableParser extends CommonBinaryParser {
ValuesParser vp = new ValuesParser(root, strings, resStorage.getResourcesNames());
ResXmlGen resGen = new ResXmlGen(resStorage, vp);
CodeWriter content = makeXmlDump();
ICodeInfo content = makeXmlDump();
List<ResContainer> xmlFiles = resGen.makeResourcesXml();
return ResContainer.resourceTable("res", xmlFiles, content);
}
public CodeWriter makeXmlDump() {
public ICodeInfo makeXmlDump() {
CodeWriter writer = new CodeWriter();
writer.startLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
writer.startLine("<resources>");
@@ -94,8 +95,7 @@ public class ResTableParser extends CommonBinaryParser {
}
writer.decIndent();
writer.startLine("</resources>");
writer.finish();
return writer;
return writer.finish();
}
public ResourceStorage getResStorage() {