diff --git a/jadx-core/src/main/java/jadx/core/deobf/Deobfuscator.java b/jadx-core/src/main/java/jadx/core/deobf/Deobfuscator.java index d1b97cc8bad..e2babf44870 100644 --- a/jadx-core/src/main/java/jadx/core/deobf/Deobfuscator.java +++ b/jadx-core/src/main/java/jadx/core/deobf/Deobfuscator.java @@ -428,7 +428,9 @@ private String makeClsPrefix(ClassNode cls) { return "Enum"; } String result = ""; - if (cls.getAccessFlags().isAbstract()) { + if (cls.getAccessFlags().isInterface()) { + result += "Interface"; + } else if (cls.getAccessFlags().isAbstract()) { result += "Abstract"; } diff --git a/jadx-core/src/main/java/jadx/core/xmlgen/ResXmlGen.java b/jadx-core/src/main/java/jadx/core/xmlgen/ResXmlGen.java index ea7a965c16b..924c34e95a4 100644 --- a/jadx-core/src/main/java/jadx/core/xmlgen/ResXmlGen.java +++ b/jadx-core/src/main/java/jadx/core/xmlgen/ResXmlGen.java @@ -168,11 +168,13 @@ private void addProtoItem(ICodeWriter cw, String itemTag, String typeName, Proto private void addItem(ICodeWriter cw, String itemTag, String typeName, RawNamedValue value) { String nameStr = vp.decodeNameRef(value.getNameRef()); String valueStr = vp.decodeValue(value.getRawValue()); + int dataType = value.getRawValue().getDataType(); + if (!typeName.equals("attr")) { - if (valueStr == null || valueStr.equals("0")) { + if (dataType == ParserConstants.TYPE_REFERENCE && (valueStr == null || valueStr.equals("0"))) { valueStr = "@null"; } - if (nameStr != null) { + if (dataType == ParserConstants.TYPE_INT_DEC && nameStr != null) { try { int intVal = Integer.parseInt(valueStr); String newVal = ManifestAttributes.getInstance().decode(nameStr.replace("android:attr.", ""), intVal); diff --git a/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java b/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java index 71a52f1715d..c83552b5b9a 100644 --- a/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java +++ b/jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java @@ -411,7 +411,7 @@ private boolean openSingleFile(Path singleFile, Runnable onFinish) { // check if project file already saved with default name Path projectPath = getProjectPathForFile(singleFile); if (Files.exists(projectPath)) { - LOG.info("Loading project for this file"); + LOG.info("Loading project {}", projectPath); openProject(projectPath, onFinish); return true; }