From: Dianne Hackborn Date: Thu, 9 Jun 2011 23:06:07 +0000 (-0700) Subject: am a8d7ea06: am 220cd77d: Merge "Enforce public resource restriction on bag parents... X-Git-Url: https://git.saurik.com/android/aapt.git/commitdiff_plain/d52548b546341a99d02e71fcbc21f6fd0e2007fc?hp=e8d920f9f31f6bc817539d87c1a4953e71b86eec am a8d7ea06: am 220cd77d: Merge "Enforce public resource restriction on bag parents." into honeycomb-mr2 * commit 'a8d7ea067cf22baeee2ff0a33e5a8c5a35936942': Enforce public resource restriction on bag parents. --- diff --git a/ResourceTable.cpp b/ResourceTable.cpp index 5c5b4fd..81b924a 100644 --- a/ResourceTable.cpp +++ b/ResourceTable.cpp @@ -1963,10 +1963,11 @@ uint32_t ResourceTable::getResId(const String16& ref, bool onlyPublic) const { String16 package, type, name; + bool refOnlyPublic = true; if (!ResTable::expandResourceRef( ref.string(), ref.size(), &package, &type, &name, defType, defPackage ? defPackage:&mAssetsPackage, - outErrorMsg)) { + outErrorMsg, &refOnlyPublic)) { NOISY(printf("Expanding resource: ref=%s\n", String8(ref).string())); NOISY(printf("Expanding resource: defType=%s\n", @@ -1979,7 +1980,7 @@ uint32_t ResourceTable::getResId(const String16& ref, String8(name).string())); return 0; } - uint32_t res = getResId(package, type, name, onlyPublic); + uint32_t res = getResId(package, type, name, onlyPublic && refOnlyPublic); NOISY(printf("Expanded resource: p=%s, t=%s, n=%s, res=%d\n", String8(package).string(), String8(type).string(), String8(name).string(), res)); diff --git a/ResourceTable.h b/ResourceTable.h index bbb8140..734c541 100644 --- a/ResourceTable.h +++ b/ResourceTable.h @@ -162,13 +162,13 @@ public: uint32_t getResId(const String16& package, const String16& type, const String16& name, - bool onlyPublic = false) const; + bool onlyPublic = true) const; uint32_t getResId(const String16& ref, const String16* defType = NULL, const String16* defPackage = NULL, const char** outErrorMsg = NULL, - bool onlyPublic = false) const; + bool onlyPublic = true) const; static bool isValidResourceName(const String16& s);