X-Git-Url: https://git.saurik.com/android/aapt.git/blobdiff_plain/c70f9935358d885d063ed0112827c5d8506d1f9d..19d44c3efab1f054eefda13f888e2b9cdc536c86:/Command.cpp diff --git a/Command.cpp b/Command.cpp index c40af80..eaff0f4 100644 --- a/Command.cpp +++ b/Command.cpp @@ -141,9 +141,9 @@ int doList(Bundle* bundle) if (bundle->getVerbose()) { printf("Archive: %s\n", zipFileName); printf( - " Length Method Size Ratio Date Time CRC-32 Name\n"); + " Length Method Size Ratio Offset Date Time CRC-32 Name\n"); printf( - "-------- ------ ------- ----- ---- ---- ------ ----\n"); + "-------- ------ ------- ----- ------- ---- ---- ------ ----\n"); } totalUncLen = totalCompLen = 0; @@ -159,12 +159,13 @@ int doList(Bundle* bundle) strftime(dateBuf, sizeof(dateBuf), "%m-%d-%y %H:%M", localtime(&when)); - printf("%8ld %-7.7s %7ld %3d%% %s %08lx %s\n", + printf("%8ld %-7.7s %7ld %3d%% %8zd %s %08lx %s\n", (long) entry->getUncompressedLen(), compressionName(entry->getCompressionMethod()), (long) entry->getCompressedLen(), calcPercent(entry->getUncompressedLen(), entry->getCompressedLen()), + (size_t) entry->getLFHOffset(), dateBuf, entry->getCRC32(), entry->getFileName()); @@ -338,6 +339,7 @@ enum { SMALL_SCREEN_ATTR = 0x01010284, NORMAL_SCREEN_ATTR = 0x01010285, LARGE_SCREEN_ATTR = 0x01010286, + XLARGE_SCREEN_ATTR = 0x010102bf, REQUIRED_ATTR = 0x0101028e, }; @@ -572,6 +574,7 @@ int doDump(Bundle* bundle) int smallScreen = 1; int normalScreen = 1; int largeScreen = 1; + int xlargeScreen = 1; String8 pkg; String8 activityName; String8 activityLabel; @@ -754,6 +757,8 @@ int doDump(Bundle* bundle) NORMAL_SCREEN_ATTR, NULL, 1); largeScreen = getIntegerAttribute(tree, LARGE_SCREEN_ATTR, NULL, 1); + xlargeScreen = getIntegerAttribute(tree, + XLARGE_SCREEN_ATTR, NULL, 1); } else if (tag == "uses-feature") { String8 name = getAttribute(tree, NAME_ATTR, &error); @@ -851,6 +856,15 @@ int doDump(Bundle* bundle) error.string()); goto bail; } + } else if (tag == "uses-package") { + String8 name = getAttribute(tree, NAME_ATTR, &error); + if (name != "" && error == "") { + printf("uses-package:'%s'\n", name.string()); + } else { + fprintf(stderr, "ERROR getting 'android:name' attribute: %s\n", + error.string()); + goto bail; + } } else if (tag == "original-package") { String8 name = getAttribute(tree, NAME_ATTR, &error); if (name != "" && error == "") { @@ -1082,10 +1096,15 @@ int doDump(Bundle* bundle) if (largeScreen > 0) { largeScreen = targetSdk >= 4 ? -1 : 0; } + if (xlargeScreen > 0) { + // Introduced in Honeycomb. + xlargeScreen = targetSdk >= 10 ? -1 : 0; + } printf("supports-screens:"); if (smallScreen != 0) printf(" 'small'"); if (normalScreen != 0) printf(" 'normal'"); if (largeScreen != 0) printf(" 'large'"); + if (xlargeScreen != 0) printf(" 'xlarge'"); printf("\n"); printf("locales:");