AAPT2: Add default no-compress extensions

Change-Id: Iff0820993059bcab59208b07601b2c6d8d953c89
diff --git a/tools/aapt2/link/Link.cpp b/tools/aapt2/link/Link.cpp
index ded661e..1417fd6 100644
--- a/tools/aapt2/link/Link.cpp
+++ b/tools/aapt2/link/Link.cpp
@@ -73,7 +73,7 @@
     bool outputToDirectory = false;
     bool autoAddOverlay = false;
     bool doNotCompressAnything = false;
-    std::vector<std::string> extensionsToNotCompress;
+    std::unordered_set<std::string> extensionsToNotCompress;
     Maybe<std::string> privateSymbols;
     ManifestFixerOptions manifestFixerOptions;
     std::unordered_set<std::string> products;
@@ -287,7 +287,7 @@
     bool keepRawValues = false;
     bool doNotCompressAnything = false;
     bool updateProguardSpec = false;
-    std::vector<std::string> extensionsToNotCompress;
+    std::unordered_set<std::string> extensionsToNotCompress;
 };
 
 class ResourceFileFlattener {
@@ -1728,6 +1728,15 @@
         }
     }
 
+    // Populate some default no-compress extensions that are already compressed.
+    options.extensionsToNotCompress.insert({
+            ".jpg", ".jpeg", ".png", ".gif",
+            ".wav", ".mp2", ".mp3", ".ogg", ".aac",
+            ".mpg", ".mpeg", ".mid", ".midi", ".smf", ".jet",
+            ".rtttl", ".imy", ".xmf", ".mp4", ".m4a",
+            ".m4v", ".3gp", ".3gpp", ".3g2", ".3gpp2",
+            ".amr", ".awb", ".wma", ".wmv", ".webm", ".mkv"});
+
     // Turn off auto versioning for static-libs.
     if (options.staticLib) {
         options.noAutoVersion = true;