aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/Aapt2ResourcePackagingAction.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-11-16 08:18:32 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-11-16 08:20:02 -0800
commit2670a2690a62e3eff14c3896bc8103ffa613aa28 (patch)
tree7a07cd1708cd652970bfa94c2d35a9fe7cd43e9a /src/tools/android/java/com/google/devtools/build/android/Aapt2ResourcePackagingAction.java
parent72cbef729f69d167a48f010e28fb9717f25e74db (diff)
Enable aapt2 packaging action to use compiled resources for merging rather than parsed resources.
RELNOTES: none PiperOrigin-RevId: 175965731
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/Aapt2ResourcePackagingAction.java')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/Aapt2ResourcePackagingAction.java27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/Aapt2ResourcePackagingAction.java b/src/tools/android/java/com/google/devtools/build/android/Aapt2ResourcePackagingAction.java
index a34ed208e0..9bdd1a098f 100644
--- a/src/tools/android/java/com/google/devtools/build/android/Aapt2ResourcePackagingAction.java
+++ b/src/tools/android/java/com/google/devtools/build/android/Aapt2ResourcePackagingAction.java
@@ -103,19 +103,26 @@ public class Aapt2ResourcePackagingAction {
profiler.recordEndOf("setup").startTask("merging");
+ AndroidDataDeserializer dataDeserializer =
+ aaptConfigOptions.useCompiledResourcesForMerge
+ ? AndroidCompiledDataDeserializer.withFilteredResources(options.prefilteredResources)
+ : AndroidParsedDataDeserializer.withFilteredResources(options.prefilteredResources);
+
// Checks for merge conflicts.
MergedAndroidData mergedAndroidData =
AndroidResourceMerger.mergeData(
- options.primaryData,
- options.directData,
- options.transitiveData,
- mergedResources,
- mergedAssets,
- null /* cruncher. Aapt2 automatically chooses to crunch or not. */,
- options.packageType,
- options.symbolsOut,
- options.prefilteredResources,
- false /* throwOnResourceConflict */)
+ ParsedAndroidData.from(options.primaryData),
+ options.primaryData.getManifest(),
+ options.directData,
+ options.transitiveData,
+ mergedResources,
+ mergedAssets,
+ null /* cruncher. Aapt2 automatically chooses to crunch or not. */,
+ options.packageType,
+ options.symbolsOut,
+ null /* rclassWriter */,
+ dataDeserializer,
+ options.throwOnResourceConflict)
.filter(
new DensitySpecificResourceFilter(
densitiesToFilter, filteredResources, mergedResources),