From 42b784376195082f9766e492f940033e4f03d9b0 Mon Sep 17 00:00:00 2001 From: tRuNKator <34552981+tRuNKator@users.noreply.github.com> Date: Fri, 22 Mar 2019 13:04:30 +0500 Subject: [PATCH] fix: use quantity attribute for plurals (PR #486) --- .../main/java/jadx/core/xmlgen/ResXmlGen.java | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) 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 452744809..a23768495 100644 --- a/jadx-core/src/main/java/jadx/core/xmlgen/ResXmlGen.java +++ b/jadx-core/src/main/java/jadx/core/xmlgen/ResXmlGen.java @@ -15,6 +15,8 @@ import jadx.core.xmlgen.entry.RawNamedValue; import jadx.core.xmlgen.entry.ResourceEntry; import jadx.core.xmlgen.entry.ValuesParser; +import static jadx.core.xmlgen.ParserConstants.PLURALS_MAP; + public class ResXmlGen { private static final Set SKIP_RES_TYPES = new HashSet<>(Arrays.asList( @@ -147,16 +149,22 @@ public class ResXmlGen { } } } - if (typeName.equals("attr")) { - if (nameStr != null) { - addSimpleValue(cw, typeName, itemTag, nameStr, valueStr, ""); - } - } else if (typeName.equals("style")) { - if (nameStr != null) { - addSimpleValue(cw, typeName, itemTag, nameStr, "", valueStr); - } - } else { - addSimpleValue(cw, typeName, itemTag, null, null, valueStr); + switch (typeName) { + case "attr": + if (nameStr != null) + addSimpleValue(cw, typeName, itemTag, nameStr, valueStr, ""); + break; + case "style": + if (nameStr != null) + addSimpleValue(cw, typeName, itemTag, nameStr, "", valueStr); + break; + case "plurals": + final String quantity = PLURALS_MAP.get(value.getNameRef()); + addSimpleValue(cw, typeName, itemTag, "quantity", quantity, valueStr); + break; + default: + addSimpleValue(cw, typeName, itemTag, null, null, valueStr); + break; } }