aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-01-12 22:10:38 +0000
committerGravatar Marcel Hlopko <hlopko@google.com>2017-01-13 10:58:12 +0000
commita676374f6988bee9c489588f95c0fa78c96d63d5 (patch)
tree4d24e5816f68ed320b99e126b93581cdc16ee5de /src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java
parent98b19e41daf02573c08cb2e02d3a59879cd1e09a (diff)
Move the serialize and write functionality from UnwrittenMergedAndroidData to ParsedAndroidData. This improves reuse.
-- PiperOrigin-RevId: 144369566 MOS_MIGRATED_REVID=144369566
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java48
1 files changed, 9 insertions, 39 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java b/src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java
index cefd4454cd..c272a3a454 100644
--- a/src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java
+++ b/src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java
@@ -13,11 +13,9 @@
// limitations under the License.
package com.google.devtools.build.android;
+import com.android.ide.common.res2.MergingException;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.MoreObjects;
-
-import com.android.ide.common.res2.MergingException;
-
import java.io.IOException;
import java.nio.file.Path;
import java.util.Map.Entry;
@@ -55,8 +53,10 @@ public class UnwrittenMergedAndroidData {
public MergedAndroidData write(AndroidDataWriter mergedDataWriter)
throws IOException, MergingException {
try {
- writeParsedAndroidData(primary, mergedDataWriter);
- writeParsedAndroidData(transitive, mergedDataWriter);
+ primary.writeAssetsTo(mergedDataWriter);
+ primary.writeResourcesTo(mergedDataWriter);
+ transitive.writeAssetsTo(mergedDataWriter);
+ transitive.writeResourcesTo(mergedDataWriter);
return new MergedAndroidData(
mergedDataWriter.resourceDirectory(),
mergedDataWriter.assetDirectory(),
@@ -68,42 +68,13 @@ public class UnwrittenMergedAndroidData {
}
}
- private void writeParsedAndroidData(
- ParsedAndroidData resources, AndroidDataWritingVisitor mergedDataWriter)
- throws IOException, MergingException {
- for (Entry<DataKey, DataAsset> entry : resources.iterateAssetEntries()) {
- // TODO(corysmith): Resolve the nit of casting to a RelativeAssetPath by sorting
- // out the type structure and generics of DataKey, ParsedAndroidData, AndroidDataMerger and
- // MergeConflict.
- entry.getValue().writeAsset((RelativeAssetPath) entry.getKey(), mergedDataWriter);
- }
- for (Entry<DataKey, DataResource> entry : resources.iterateDataResourceEntries()) {
- // TODO(corysmith): Resolve the nit of casting to a FullyQualifiedName by sorting
- // out the type structure and generics of DataKey, ParsedAndroidData, AndroidDataMerger and
- // MergeConflict.
- entry.getValue().writeResource((FullyQualifiedName) entry.getKey(), mergedDataWriter);
- }
- }
-
public void writeResourceClass(AndroidResourceClassWriter resourceClassWriter)
throws IOException {
- writeResourceClassItems(primary, resourceClassWriter);
- writeResourceClassItems(transitive, resourceClassWriter);
+ primary.writeResourcesTo(resourceClassWriter);
+ transitive.writeResourcesTo(resourceClassWriter);
resourceClassWriter.flush();
}
- private void writeResourceClassItems(
- ParsedAndroidData resources, AndroidResourceClassWriter resourceClassWriter)
- throws IOException {
- for (Entry<DataKey, DataResource> entry : resources.iterateDataResourceEntries()) {
- // TODO(corysmith): Resolve the nit of casting to a FullyQualifiedName by sorting
- // out the type structure and generics of DataKey, ParsedAndroidData, AndroidDataMerger and
- // MergeConflict.
- entry.getValue()
- .writeResourceToClass((FullyQualifiedName) entry.getKey(), resourceClassWriter);
- }
- }
-
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
@@ -151,8 +122,7 @@ public class UnwrittenMergedAndroidData {
for (Entry<DataKey, DataAsset> entry : primary.iterateAssetEntries()) {
serializer.queueForSerialization(entry.getKey(), entry.getValue());
}
- for (Entry<DataKey, DataResource> entry : primary.iterateDataResourceEntries()) {
- serializer.queueForSerialization(entry.getKey(), entry.getValue());
- }
+ primary.serializeAssetsTo(serializer);
+ primary.serializeResourcesTo(serializer);
}
}