summaryrefslogtreecommitdiffstats
path: root/libs/androidfw
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2014-08-15 13:59:02 -0700
committerAdam Lesinski <adamlesinski@google.com>2014-08-15 14:01:43 -0700
commit2cb761e3ddb9d68ab430013e9cd15ecaab9fbc62 (patch)
tree2bd700b1bc3ae8d3855103c1a82c229d5d79e131 /libs/androidfw
parent4482e4bb8d1f5fe586b641bc3d6298dc7b8fee80 (diff)
downloadframeworks_base-2cb761e3ddb9d68ab430013e9cd15ecaab9fbc62.zip
frameworks_base-2cb761e3ddb9d68ab430013e9cd15ecaab9fbc62.tar.gz
frameworks_base-2cb761e3ddb9d68ab430013e9cd15ecaab9fbc62.tar.bz2
Fix assumption about DynamicRefTable in aapt
Packages without any resources should not expect to have a DynamicRefTable. Bug:16895517 Bug:17056720 Change-Id: Id006f6bdbf08f30505f6ba5982bc9d1b09db0f0a
Diffstat (limited to 'libs/androidfw')
-rw-r--r--libs/androidfw/ResourceTypes.cpp5
-rw-r--r--libs/androidfw/tests/ResTable_test.cpp16
2 files changed, 16 insertions, 5 deletions
diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp
index f963a4e..2a4dec0 100644
--- a/libs/androidfw/ResourceTypes.cpp
+++ b/libs/androidfw/ResourceTypes.cpp
@@ -6212,11 +6212,6 @@ void ResTable::print(bool inclValues) const
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++) {
diff --git a/libs/androidfw/tests/ResTable_test.cpp b/libs/androidfw/tests/ResTable_test.cpp
index 8016a82..89d271d0 100644
--- a/libs/androidfw/tests/ResTable_test.cpp
+++ b/libs/androidfw/tests/ResTable_test.cpp
@@ -195,4 +195,20 @@ TEST(ResTableTest, resourceIsOverridenWithBetterConfig) {
ASSERT_EQ(uint32_t(400), val.data);
}
+TEST(ResTableTest, emptyTableHasSensibleDefaults) {
+ const int32_t assetCookie = 1;
+
+ ResTable table;
+ ASSERT_EQ(NO_ERROR, table.addEmpty(assetCookie));
+
+ // Adding an empty table gives us one table!
+ ASSERT_EQ(uint32_t(1), table.getTableCount());
+
+ // Adding an empty table doesn't mean we get packages.
+ ASSERT_EQ(uint32_t(0), table.getBasePackageCount());
+
+ Res_value val;
+ ASSERT_LT(table.getResource(base::R::integer::number1, &val, MAY_NOT_BE_BAG), 0);
+}
+
}