Merge branch 'whydoubt-strings_in_styles'

This commit is contained in:
Connor Tumbleson 2014-10-20 06:51:22 -05:00
commit 49afdd273d
4 changed files with 14 additions and 6 deletions

View File

@ -46,6 +46,7 @@ v2.0.0 (TBA)
-Fixed (issue #684) - Fixed issue with multiple ResPackages in ARSC file.
-Fixed (issue #682) - Fixed handling renamed manifests with ("yi")
-Fixed (issue #664) - Fixed issue with apks with large StringPools failing to decode.
-Fixed (issue #447) - Fixed bad cast of ResStringValue to ResAtr by handling ResStringValue correctly (Thanks whydoubt)
-Fixed issue with APKs with multiple dex files.
-Fixed issue with using Apktool without smali/baksmali for ApktoolProperties (Thanks teprrr)
-Fixed issue with non-URI standard characters in apk name (Thanks rover12421)

View File

@ -52,14 +52,20 @@ public class ResStyleValue extends ResBagValue implements
}
for (int i = 0; i < mItems.length; i++) {
ResResSpec spec = mItems[i].m1.getReferent();
String name = null;
String value = null;
String resource = spec.getDefaultResource().getValue().toString();
// hacky-fix remove bad ReferenceVars
if (spec.getDefaultResource().getValue().toString()
.contains("ResReferenceValue@")) {
if (resource.contains("ResReferenceValue@")) {
continue;
} else if (resource.contains("ResStringValue@")) {
name = "@" + spec.getFullName(res.getResSpec().getPackage(), false);
} else {
ResAttr attr = (ResAttr) spec.getDefaultResource().getValue();
value = attr.convertToResXmlFormat(mItems[i].m2);
name = spec.getFullName(res.getResSpec().getPackage(), true);
}
ResAttr attr = (ResAttr) spec.getDefaultResource().getValue();
String value = attr.convertToResXmlFormat(mItems[i].m2);
if (value == null) {
value = mItems[i].m2.encodeAsResXmlValue();
@ -70,8 +76,7 @@ public class ResStyleValue extends ResBagValue implements
}
serializer.startTag(null, "item");
serializer.attribute(null, "name",
spec.getFullName(res.getResSpec().getPackage(), true));
serializer.attribute(null, "name", name);
serializer.text(value);
serializer.endTag(null, "item");
}

View File

@ -6,6 +6,7 @@
</style>
<style name="TextAppearance.EditEvent_Button" parent="@style/TextAppearance.EditEvent_Label">
<item name="android:textColor">#ff777777</item>
<item name="@string/issue_477">?android:dividerVertical</item>
</style>
<style name="Foo.Bar" parent=""/>
</resources>

View File

@ -2,4 +2,5 @@
<resources>
<string name="test1" />
<string name="hello_world">Hello World</string>
<string name="issue_477">divider</string>
</resources>