Revert "AAPT: Version <adaptive-icon> to v26"
Bug: 36462965
Bug: 35908647
This reverts commit c7614e5d1e8f9139cccf6ab9b78dda16b98f7656.
Change-Id: I25279e7c53823dad0703c7e2ea8ff91bdbc1a0f2
diff --git a/tools/aapt/AaptAssets.cpp b/tools/aapt/AaptAssets.cpp
index 13ae24b..3c3edda 100644
--- a/tools/aapt/AaptAssets.cpp
+++ b/tools/aapt/AaptAssets.cpp
@@ -964,6 +964,7 @@
subdir->addFile(leafName, grr);
}
+
ssize_t AaptAssets::slurpFromArgs(Bundle* bundle)
{
int count;
diff --git a/tools/aapt/Command.cpp b/tools/aapt/Command.cpp
index fdcc7aa..15648bd 100644
--- a/tools/aapt/Command.cpp
+++ b/tools/aapt/Command.cpp
@@ -2501,21 +2501,14 @@
const size_t numConfigs = gp->getFiles().size();
for (size_t j = 0; j < numConfigs; j++) {
status_t err = NO_ERROR;
- const sp<AaptFile>& file = gp->getFiles().valueAt(j);
- if (!file->hasData()) {
- // Empty files do not get written.
- continue;
- }
-
if (ignoreConfig) {
- err = builder->getBaseSplit()->addEntry(gp->getPath(), file);
+ err = builder->getBaseSplit()->addEntry(gp->getPath(), gp->getFiles().valueAt(j));
} else {
- err = builder->addEntry(gp->getPath(), file);
+ err = builder->addEntry(gp->getPath(), gp->getFiles().valueAt(j));
}
-
if (err != NO_ERROR) {
fprintf(stderr, "Failed to add %s (%s) to builder.\n",
- gp->getPath().string(), file->getPrintableSource().string());
+ gp->getPath().string(), gp->getFiles()[j]->getPrintableSource().string());
return err;
}
}
diff --git a/tools/aapt/Resource.cpp b/tools/aapt/Resource.cpp
index 2bf5206..3330b1a 100644
--- a/tools/aapt/Resource.cpp
+++ b/tools/aapt/Resource.cpp
@@ -1403,8 +1403,7 @@
String8 src = it.getFile()->getPrintableSource();
err = compileXmlFile(bundle, assets, String16(it.getBaseName()),
it.getFile(), &table, xmlFlags);
- // Only verify IDs if there was no error and the file is non-empty.
- if (err == NO_ERROR && it.getFile()->hasData()) {
+ if (err == NO_ERROR) {
ResXMLTree block;
block.setTo(it.getFile()->getData(), it.getFile()->getSize(), true);
checkForIds(src, block);
@@ -1551,7 +1550,7 @@
String8 src = it.getFile()->getPrintableSource();
err = compileXmlFile(bundle, assets, String16(it.getBaseName()),
it.getFile(), &table, xmlFlags);
- if (err == NO_ERROR && it.getFile()->hasData()) {
+ if (err == NO_ERROR) {
ResXMLTree block;
block.setTo(it.getFile()->getData(), it.getFile()->getSize(), true);
checkForIds(src, block);
@@ -1599,7 +1598,7 @@
err = compileXmlFile(bundle, assets, workItem.resourceName, workItem.xmlRoot,
workItem.file, &table, xmlCompilationFlags);
- if (err == NO_ERROR && workItem.file->hasData()) {
+ if (err == NO_ERROR) {
assets->addResource(workItem.resPath.getPathLeaf(),
workItem.resPath,
workItem.file,
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index 619ae62..60f0d56 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -78,13 +78,6 @@
ResourceTable* table,
int options)
{
- if (table->versionForCompat(bundle, resourceName, target, root)) {
- // The file was versioned, so stop processing here.
- // The resource entry has already been removed and the new one added.
- // The `target` file will be empty, but empty files do not get written to the APK.
- return NO_ERROR;
- }
-
if ((options&XML_COMPILE_STRIP_WHITESPACE) != 0) {
root->removeWhitespace(true, NULL);
} else if ((options&XML_COMPILE_COMPACT_WHITESPACE) != 0) {
@@ -4765,77 +4758,6 @@
return false;
}
-bool ResourceTable::versionForCompat(const Bundle* bundle, const String16& resourceName,
- const sp<AaptFile>& target, const sp<XMLNode>& root) {
- XMLNode* node = root.get();
- while (node->getType() != XMLNode::TYPE_ELEMENT) {
- // We're assuming the root element is what we're looking for, which can only be under a
- // bunch of namespace declarations.
- if (node->getChildren().size() != 1) {
- // Not sure what to do, bail.
- return false;
- }
- node = node->getChildren().itemAt(0).get();
- }
-
- if (node->getElementNamespace().size() != 0) {
- // Not something we care about.
- return false;
- }
-
- int versionedSdk = 0;
- if (node->getElementName() == String16("adaptive-icon")) {
- versionedSdk = SDK_O;
- }
-
- const int minSdkVersion = getMinSdkVersion(bundle);
- const ConfigDescription config(target->getGroupEntry().toParams());
- if (versionedSdk <= minSdkVersion || versionedSdk <= config.sdkVersion) {
- return false;
- }
-
- sp<ConfigList> cl = getConfigList(String16(mAssets->getPackage()),
- String16(target->getResourceType()), resourceName);
- if (!shouldGenerateVersionedResource(cl, config, versionedSdk)) {
- return false;
- }
-
- // Remove the original entry.
- cl->removeEntry(config);
-
- // We need to wholesale version this file.
- ConfigDescription newConfig(config);
- newConfig.sdkVersion = versionedSdk;
- sp<AaptFile> newFile = new AaptFile(target->getSourceFile(),
- AaptGroupEntry(newConfig), target->getResourceType());
- String8 resPath = String8::format("res/%s/%s.xml",
- newFile->getGroupEntry().toDirName(target->getResourceType()).string(),
- String8(resourceName).string());
- resPath.convertToResPath();
-
- // Add a resource table entry.
- addEntry(SourcePos(),
- String16(mAssets->getPackage()),
- String16(target->getResourceType()),
- resourceName,
- String16(resPath),
- NULL,
- &newConfig);
-
- // Schedule this to be compiled.
- CompileResourceWorkItem item;
- item.resourceName = resourceName;
- item.resPath = resPath;
- item.file = newFile;
- item.xmlRoot = root->clone();
- item.needsCompiling = false; // This step occurs after we parse/assign, so we don't need
- // to do it again.
- mWorkQueue.push(item);
-
- // Now mark the old entry as deleted.
- return true;
-}
-
status_t ResourceTable::modifyForCompat(const Bundle* bundle,
const String16& resourceName,
const sp<AaptFile>& target,
diff --git a/tools/aapt/ResourceTable.h b/tools/aapt/ResourceTable.h
index aff22d4..cf1e992 100644
--- a/tools/aapt/ResourceTable.h
+++ b/tools/aapt/ResourceTable.h
@@ -203,9 +203,6 @@
size_t numLocalResources() const;
bool hasResources() const;
- bool versionForCompat(const Bundle* bundle, const String16& resourceName,
- const sp<AaptFile>& file, const sp<XMLNode>& root);
-
status_t modifyForCompat(const Bundle* bundle);
status_t modifyForCompat(const Bundle* bundle,
const String16& resourceName,
@@ -434,10 +431,6 @@
mEntries.add(config, entry);
}
- void removeEntry(const ResTable_config& config) {
- mEntries.removeItem(config);
- }
-
const DefaultKeyedVector<ConfigDescription, sp<Entry> >& getEntries() const { return mEntries; }
private:
const String16 mName;