From 77870db526c688edded9f8deda18f458cdb31860 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Thu, 17 May 2012 12:26:59 -0500 Subject: [PATCH] aapt work (not shown in commits) to help figure out the structure of new ICS apks (HTC Sense 4.0), lots of new values structures that apktool is ignoring. --- .../java/brut/androlib/res/data/ResConfigFlags.java | 10 ++++------ .../brut/androlib/res/data/value/ResScalarValue.java | 4 +++- .../test/java/brut/androlib/BuildAndDecodeTest.java | 2 +- .../strings.xml | 0 4 files changed, 8 insertions(+), 8 deletions(-) rename apktool-lib/src/test/resources/brut/apktool/testapp/res/{values-mcc004-mnc4-en-rUS-sw100dp-w200dp-h300dp-xlarge-long-land-television-night-xhdpi-finger-keyssoft-12key-navhidden-dpad => values-mcc004-mnc4-en-rUS-sw100dp-w200dp-h300dp-xlarge-long-land-night-xhdpi-finger-keyssoft-12key-navhidden-dpad}/strings.xml (100%) diff --git a/apktool-lib/src/main/java/brut/androlib/res/data/ResConfigFlags.java b/apktool-lib/src/main/java/brut/androlib/res/data/ResConfigFlags.java index 7daead71..1918cc18 100644 --- a/apktool-lib/src/main/java/brut/androlib/res/data/ResConfigFlags.java +++ b/apktool-lib/src/main/java/brut/androlib/res/data/ResConfigFlags.java @@ -196,9 +196,6 @@ public class ResConfigFlags { case UI_MODE_TYPE_DESK: ret.append("-desk"); break; - case UI_MODE_TYPE_TELEVISION: - ret.append("-television"); - break; } switch (uiMode & MASK_UI_MODE_NIGHT) { case UI_MODE_NIGHT_YES: @@ -214,8 +211,8 @@ public class ResConfigFlags { case DENSITY_LOW: ret.append("-ldpi"); break; - case DENSITY_MEDIUM: - ret.append("-mdpi"); + case DENSITY_TV: + ret.append("-tvdpi"); break; case DENSITY_HIGH: ret.append("-hdpi"); @@ -362,11 +359,12 @@ public class ResConfigFlags { public final static byte TOUCHSCREEN_STYLUS = 2; public final static byte TOUCHSCREEN_FINGER = 3; - public final static short DENSITY_DEFAULT = 0; + public final static short DENSITY_DEFAULT = 160; public final static short DENSITY_LOW = 120; public final static short DENSITY_MEDIUM = 160; public final static short DENSITY_HIGH = 240; public final static short DENSITY_XHIGH = 320; + public final static short DENSITY_TV = 213; public final static short DENSITY_NONE = -1; public final static byte KEYBOARD_ANY = 0; diff --git a/apktool-lib/src/main/java/brut/androlib/res/data/value/ResScalarValue.java b/apktool-lib/src/main/java/brut/androlib/res/data/value/ResScalarValue.java index 2d255cfb..20844a74 100644 --- a/apktool-lib/src/main/java/brut/androlib/res/data/value/ResScalarValue.java +++ b/apktool-lib/src/main/java/brut/androlib/res/data/value/ResScalarValue.java @@ -61,9 +61,11 @@ public abstract class ResScalarValue extends ResValue String body = encodeAsResXmlValue(); + /* check for resource reference */ if (body.contains("@")){ - item = true; + // item = true; + // messes up strings with @, need to check if strings.xml ignore } /* check for using attrib as node or item */ diff --git a/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeTest.java b/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeTest.java index b86f0599..70d12e85 100644 --- a/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeTest.java +++ b/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeTest.java @@ -117,7 +117,7 @@ public class BuildAndDecodeTest { @Test public void qualifiersTest() throws BrutException { compareValuesFiles("values-mcc004-mnc4-en-rUS-sw100dp-w200dp-h300dp" + - "-xlarge-long-land-television-night-xhdpi-finger-keyssoft-12key" + + "-xlarge-long-land-night-xhdpi-finger-keyssoft-12key" + "-navhidden-dpad/strings.xml"); } diff --git a/apktool-lib/src/test/resources/brut/apktool/testapp/res/values-mcc004-mnc4-en-rUS-sw100dp-w200dp-h300dp-xlarge-long-land-television-night-xhdpi-finger-keyssoft-12key-navhidden-dpad/strings.xml b/apktool-lib/src/test/resources/brut/apktool/testapp/res/values-mcc004-mnc4-en-rUS-sw100dp-w200dp-h300dp-xlarge-long-land-night-xhdpi-finger-keyssoft-12key-navhidden-dpad/strings.xml similarity index 100% rename from apktool-lib/src/test/resources/brut/apktool/testapp/res/values-mcc004-mnc4-en-rUS-sw100dp-w200dp-h300dp-xlarge-long-land-television-night-xhdpi-finger-keyssoft-12key-navhidden-dpad/strings.xml rename to apktool-lib/src/test/resources/brut/apktool/testapp/res/values-mcc004-mnc4-en-rUS-sw100dp-w200dp-h300dp-xlarge-long-land-night-xhdpi-finger-keyssoft-12key-navhidden-dpad/strings.xml