diff options
-rw-r--r-- | tools/aapt/Images.cpp | 6 | ||||
-rw-r--r-- | tools/aapt/Resource.cpp | 13 | ||||
-rw-r--r-- | tools/aapt/ResourceTable.cpp | 1 |
3 files changed, 15 insertions, 5 deletions
diff --git a/tools/aapt/Images.cpp b/tools/aapt/Images.cpp index 9939c188cdd9..aea16c715b95 100644 --- a/tools/aapt/Images.cpp +++ b/tools/aapt/Images.cpp @@ -808,13 +808,13 @@ static void checkNinePatchSerialization(Res_png_9patch* inPatch, void* data) assert(outPatch->paddingTop == inPatch->paddingTop); assert(outPatch->paddingBottom == inPatch->paddingBottom); for (int i = 0; i < outPatch->numXDivs; i++) { - assert(outPatch->xDivs[i] == inPatch->xDivs[i]); + assert(outPatch->getXDivs()[i] == inPatch->getXDivs()[i]); } for (int i = 0; i < outPatch->numYDivs; i++) { - assert(outPatch->yDivs[i] == inPatch->yDivs[i]); + assert(outPatch->getYDivs()[i] == inPatch->getYDivs()[i]); } for (int i = 0; i < outPatch->numColors; i++) { - assert(outPatch->colors[i] == inPatch->colors[i]); + assert(outPatch->getColors()[i] == inPatch->getColors()[i]); } free(newData); } diff --git a/tools/aapt/Resource.cpp b/tools/aapt/Resource.cpp index e6407332bb90..a7878d196c15 100644 --- a/tools/aapt/Resource.cpp +++ b/tools/aapt/Resource.cpp @@ -326,13 +326,18 @@ static status_t makeFileResources(Bundle* bundle, const sp<AaptAssets>& assets, } String8 resPath = it.getPath(); resPath.convertToResPath(); - table->addEntry(SourcePos(it.getPath(), 0), String16(assets->getPackage()), + status_t result = table->addEntry(SourcePos(it.getPath(), 0), + String16(assets->getPackage()), type16, baseName, String16(resPath), NULL, &it.getParams()); - assets->addResource(it.getLeafName(), resPath, it.getFile(), type8); + if (result != NO_ERROR) { + hasErrors = true; + } else { + assets->addResource(it.getLeafName(), resPath, it.getFile(), type8); + } } return hasErrors ? STATUST(UNKNOWN_ERROR) : NO_ERROR; @@ -1370,6 +1375,10 @@ status_t buildResources(Bundle* bundle, const sp<AaptAssets>& assets, sp<ApkBuil } } + if (hasErrors) { + return UNKNOWN_ERROR; + } + // -------------------------------------------------------------------- // Assignment of resource IDs and initial generation of resource table. // -------------------------------------------------------------------- diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp index 6a4b63789815..6d80a69b7444 100644 --- a/tools/aapt/ResourceTable.cpp +++ b/tools/aapt/ResourceTable.cpp @@ -4521,6 +4521,7 @@ bool ResourceTable::shouldGenerateVersionedResource( const ConfigDescription& sourceConfig, const int sdkVersionToGenerate) { assert(sdkVersionToGenerate > sourceConfig.sdkVersion); + assert(configList != NULL); const DefaultKeyedVector<ConfigDescription, sp<ResourceTable::Entry>>& entries = configList->getEntries(); ssize_t idx = entries.indexOfKey(sourceConfig); |