Skip to content

Commit

Permalink
fix(res): don't rename resource entries when useRawResName = true (PR #…
Browse files Browse the repository at this point in the history
  • Loading branch information
pubiqq authored Oct 14, 2024
1 parent 8f3cc3e commit 958ab24
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions jadx-core/src/main/java/jadx/core/xmlgen/ResTableBinaryParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -425,20 +425,26 @@ private ResourceEntry buildResourceEntry(PackageChunk pkg, String config, int re
return STUB_ENTRY;
}

String resName = getResName(typeName, resRef, origKeyName);
ResourceEntry newResEntry = new ResourceEntry(resRef, pkg.getName(), typeName, resName, config);
ResourceEntry prevResEntry = resStorage.searchEntryWithSameName(newResEntry);
if (prevResEntry != null) {
newResEntry = newResEntry.copyWithId();

// rename also previous entry for consistency
ResourceEntry replaceForPrevEntry = prevResEntry.copyWithId();
resStorage.replace(prevResEntry, replaceForPrevEntry);
resStorage.addRename(replaceForPrevEntry);
}
if (!Objects.equals(origKeyName, newResEntry.getKeyName())) {
resStorage.addRename(newResEntry);
ResourceEntry newResEntry;
if (useRawResName) {
newResEntry = new ResourceEntry(resRef, pkg.getName(), typeName, origKeyName, config);
} else {
String resName = getResName(typeName, resRef, origKeyName);
newResEntry = new ResourceEntry(resRef, pkg.getName(), typeName, resName, config);
ResourceEntry prevResEntry = resStorage.searchEntryWithSameName(newResEntry);
if (prevResEntry != null) {
newResEntry = newResEntry.copyWithId();

// rename also previous entry for consistency
ResourceEntry replaceForPrevEntry = prevResEntry.copyWithId();
resStorage.replace(prevResEntry, replaceForPrevEntry);
resStorage.addRename(replaceForPrevEntry);
}
if (!Objects.equals(origKeyName, newResEntry.getKeyName())) {
resStorage.addRename(newResEntry);
}
}

resStorage.add(newResEntry);
return newResEntry;
}
Expand Down

0 comments on commit 958ab24

Please sign in to comment.