diff options
| author | 2010-02-04 18:45:31 -0800 | |
|---|---|---|
| committer | 2010-02-12 17:37:50 -0800 | |
| commit | b9d2dc2319d1ced5cabedabe0dfbf5add9753dbd (patch) | |
| tree | 6f0f743d309cc5a20fb00cd41b1ab647a8f49a29 /tools/aapt/ResourceTable.cpp | |
| parent | e88192b9d2a8c364d8545471907c5baa275bb5f6 (diff) | |
Add --auto-add-overlay option to aapt. DO NOT MERGE
This option allows resources only present in overlays to be
added automatically instead of being declared through <add-resource>
(merge from master)
Change-Id: I5f402a1fa7213d18724d91f84bc05ef39ace2ed9
Diffstat (limited to 'tools/aapt/ResourceTable.cpp')
| -rw-r--r-- | tools/aapt/ResourceTable.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp index 19b9b01070a4..b3cf7ea0776d 100644 --- a/tools/aapt/ResourceTable.cpp +++ b/tools/aapt/ResourceTable.cpp @@ -1587,7 +1587,7 @@ status_t ResourceTable::startBag(const SourcePos& sourcePos, sourcePos.file.striing(), sourcePos.line, String8(type).string()); } #endif - if (overlay && !hasBagOrEntry(package, type, name)) { + if (overlay && !mBundle->getAutoAddOverlay() && !hasBagOrEntry(package, type, name)) { bool canAdd = false; sp<Package> p = mPackages.valueFor(package); if (p != NULL) { @@ -3275,12 +3275,13 @@ sp<ResourceTable::Entry> ResourceTable::Type::getEntry(const String16& entry, const SourcePos& sourcePos, const ResTable_config* config, bool doSetIndex, - bool overlay) + bool overlay, + bool autoAddOverlay) { int pos = -1; sp<ConfigList> c = mConfigs.valueFor(entry); if (c == NULL) { - if (overlay == true && mCanAddEntries.indexOf(entry) < 0) { + if (overlay && !autoAddOverlay && mCanAddEntries.indexOf(entry) < 0) { sourcePos.error("Resource at %s appears in overlay but not" " in the base package; use <add-resource> to add.\n", String8(entry).string()); @@ -3592,7 +3593,7 @@ sp<ResourceTable::Entry> ResourceTable::getEntry(const String16& package, if (t == NULL) { return NULL; } - return t->getEntry(name, sourcePos, config, doSetIndex, overlay); + return t->getEntry(name, sourcePos, config, doSetIndex, overlay, mBundle->getAutoAddOverlay()); } sp<const ResourceTable::Entry> ResourceTable::getEntry(uint32_t resID, |