summaryrefslogtreecommitdiff
path: root/tools/aapt2/optimize/ResourcePathShortener.cpp
diff options
context:
space:
mode:
authorMohamed Heikal <mheikal@google.com>2019-07-08 15:06:39 -0400
committerMohamed Heikal <mheikal@google.com>2019-07-08 16:28:42 -0400
commit61d528f49d7d5d17159a9c87813fa061854e39f6 (patch)
tree6d82fe66681c5064e49f31d28c2b1ddebc4013e9 /tools/aapt2/optimize/ResourcePathShortener.cpp
parent59dc6124c842503d57d279b1f0139ae1302675f2 (diff)
Fix bug where aapt2 optimize obfuscated color-* resources
aapt2 optimize --enable-resource-path-shortening should ignore res/color resources since android uses the path while loading them. This cl fixes a bug where res/color-* (eg: res/color-v21) resource paths are shortened when they should not be. Test: make aapt2_tests Bug: b/75965637 Change-Id: Ibbc3fe4d2e6bd4f31765a5aa85980907dc013ecd
Diffstat (limited to 'tools/aapt2/optimize/ResourcePathShortener.cpp')
-rw-r--r--tools/aapt2/optimize/ResourcePathShortener.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/aapt2/optimize/ResourcePathShortener.cpp b/tools/aapt2/optimize/ResourcePathShortener.cpp
index 845262bcb0d9..6b11de759d2d 100644
--- a/tools/aapt2/optimize/ResourcePathShortener.cpp
+++ b/tools/aapt2/optimize/ResourcePathShortener.cpp
@@ -23,6 +23,7 @@
#include "ResourceTable.h"
#include "ValueVisitor.h"
+#include "util/Util.h"
static const std::string base64_chars =
@@ -95,8 +96,8 @@ bool ResourcePathShortener::Consume(IAaptContext* context, ResourceTable* table)
android::StringPiece res_subdir, actual_filename, extension;
util::ExtractResFilePathParts(*file_ref->path, &res_subdir, &actual_filename, &extension);
- // Android detects ColorStateLists via pathname, skip res/color/*
- if (res_subdir == android::StringPiece("res/color/"))
+ // Android detects ColorStateLists via pathname, skip res/color*
+ if (util::StartsWith(res_subdir, "res/color"))
continue;
std::string shortened_filename = ShortenFileName(*file_ref->path, num_chars);