diff options
Diffstat (limited to 'tools/aapt2/ResourceUtils.cpp')
-rw-r--r-- | tools/aapt2/ResourceUtils.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/aapt2/ResourceUtils.cpp b/tools/aapt2/ResourceUtils.cpp index ffe6595cf0b6..36c3e702574e 100644 --- a/tools/aapt2/ResourceUtils.cpp +++ b/tools/aapt2/ResourceUtils.cpp @@ -14,8 +14,10 @@ * limitations under the License. */ +#include "NameMangler.h" #include "ResourceUtils.h" #include "flatten/ResourceTypeExtensions.h" +#include "util/Files.h" #include "util/Util.h" #include <androidfw/ResourceTypes.h> @@ -554,5 +556,22 @@ std::unique_ptr<Item> parseItemForAttribute( return {}; } +std::string buildResourceFileName(const ResourceFile& resFile, const NameMangler* mangler) { + std::stringstream out; + out << "res/" << resFile.name.type; + if (resFile.config != ConfigDescription{}) { + out << "-" << resFile.config; + } + out << "/"; + + if (mangler && mangler->shouldMangle(resFile.name.package)) { + out << NameMangler::mangleEntry(resFile.name.package, resFile.name.entry); + } else { + out << resFile.name.entry; + } + out << file::getExtension(resFile.source.path); + return out.str(); +} + } // namespace ResourceUtils } // namespace aapt |