am e9e52a2a: am 41cdc4c7: Merge "Revert "Fix aapt dump for APKs with no resources"" into lmp-dev

* commit 'e9e52a2ae2e80286447767b9a83b04d88c41c112':
  Revert "Fix aapt dump for APKs with no resources"
diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp
index 1316cb8..f963a4e 100644
--- a/libs/androidfw/ResourceTypes.cpp
+++ b/libs/androidfw/ResourceTypes.cpp
@@ -2860,16 +2860,17 @@
 struct ResTable::Package
 {
     Package(ResTable* _owner, const Header* _header, const ResTable_package* _package)
-        : owner(_owner), header(_header), typeIdOffset(0) {
-        if (_package != NULL && dtohs(_package->header.headerSize) == sizeof(_package)) {
+        : owner(_owner), header(_header), package(_package), typeIdOffset(0) {
+        if (dtohs(package->header.headerSize) == sizeof(package)) {
             // The package structure is the same size as the definition.
             // This means it contains the typeIdOffset field.
-            typeIdOffset = _package->typeIdOffset;
+            typeIdOffset = package->typeIdOffset;
         }
     }
 
     const ResTable* const           owner;
     const Header* const             header;
+    const ResTable_package* const   package;
 
     ResStringPool                   typeStrings;
     ResStringPool                   keyStrings;
@@ -3368,10 +3369,6 @@
 
     header->header = (const ResTable_header*) resHeader;
     mHeaders.add(header);
-
-    PackageGroup* pg = new PackageGroup(this, String16(), 0);
-    pg->packages.add(new Package(this, header, NULL));
-    mPackageGroups.add(pg);
     return (mError=NO_ERROR);
 }
 
@@ -5940,7 +5937,7 @@
     *outSize += 2 * sizeof(uint16_t);
 
     // overlay packages are assumed to contain only one package group
-    const String16 overlayPackage(overlay.mPackageGroups[0]->name);
+    const String16 overlayPackage(overlay.mPackageGroups[0]->packages[0]->package->name);
 
     for (size_t typeIndex = 0; typeIndex < pg->types.size(); ++typeIndex) {
         const TypeList& typeList = pg->types[typeIndex];
@@ -6215,6 +6212,11 @@
     if (mError != 0) {
         printf("mError=0x%x (%s)\n", mError, strerror(mError));
     }
+#if 0
+    char localeStr[RESTABLE_MAX_LOCALE_LEN];
+    mParams.getBcp47Locale(localeStr);
+    printf("mParams=%s,\n" localeStr);
+#endif
     size_t pgCount = mPackageGroups.size();
     printf("Package Groups (%d)\n", (int)pgCount);
     for (size_t pgIndex=0; pgIndex<pgCount; pgIndex++) {
@@ -6223,6 +6225,13 @@
                 (int)pgIndex, pg->id, (int)pg->packages.size(),
                 String8(pg->name).string());
 
+        size_t pkgCount = pg->packages.size();
+        for (size_t pkgIndex=0; pkgIndex<pkgCount; pkgIndex++) {
+            const Package* pkg = pg->packages[pkgIndex];
+            printf("  Package %d id=%d name=%s\n", (int)pkgIndex,
+                    pkg->package->id, String8(String16(pkg->package->name)).string());
+        }
+
         for (size_t typeIndex=0; typeIndex < pg->types.size(); typeIndex++) {
             const TypeList& typeList = pg->types[typeIndex];
             if (typeList.isEmpty()) {
diff --git a/libs/androidfw/tests/ResTable_test.cpp b/libs/androidfw/tests/ResTable_test.cpp
index 68c228e..8016a82 100644
--- a/libs/androidfw/tests/ResTable_test.cpp
+++ b/libs/androidfw/tests/ResTable_test.cpp
@@ -195,21 +195,4 @@
     ASSERT_EQ(uint32_t(400), val.data);
 }
 
-TEST(ResTableTest, emptyTableHasSensibleDefaults) {
-    const int32_t expectedCookie = 1;
-
-    ResTable table;
-    ASSERT_EQ(NO_ERROR, table.addEmpty(expectedCookie));
-
-    ASSERT_EQ(uint32_t(1), table.getTableCount());
-    ASSERT_EQ(uint32_t(1), table.getBasePackageCount());
-    ASSERT_EQ(expectedCookie, table.getTableCookie(0));
-
-    const DynamicRefTable* dynamicRefTable = table.getDynamicRefTableForCookie(expectedCookie);
-    ASSERT_TRUE(dynamicRefTable != NULL);
-
-    Res_value val;
-    ASSERT_LT(table.getResource(base::R::integer::number1, &val, MAY_NOT_BE_BAG), 0);
-}
-
 }