From ac3aab2a5ef9062f1560b900e69f601c8225089e Mon Sep 17 00:00:00 2001 From: Robert Papp Date: Sun, 31 Aug 2014 17:11:51 +0200 Subject: [PATCH] Reduce duplicate code in MultiTransformation. --- .../glide/load/MultiTransformation.java | 46 ++++++------------- 1 file changed, 15 insertions(+), 31 deletions(-) diff --git a/library/src/main/java/com/bumptech/glide/load/MultiTransformation.java b/library/src/main/java/com/bumptech/glide/load/MultiTransformation.java index c51e996a0..ef99f20f4 100644 --- a/library/src/main/java/com/bumptech/glide/load/MultiTransformation.java +++ b/library/src/main/java/com/bumptech/glide/load/MultiTransformation.java @@ -2,53 +2,43 @@ package com.bumptech.glide.load; import com.bumptech.glide.load.engine.Resource; -import java.util.List; +import java.util.Arrays; +import java.util.Collection; /** - * A transformation that applies an ordered array or list of one or more transformations to a resource. + * A transformation that applies one or more transformations in iteration order to a resource. * * @param The type of {@link com.bumptech.glide.load.engine.Resource} that will be transformed. */ public class MultiTransformation implements Transformation { - private Transformation[] transformations; - private List> transformationList; + private Collection> transformations; private String id; + @SafeVarargs public MultiTransformation(Transformation... transformations) { if (transformations.length < 1) { throw new IllegalArgumentException("MultiTransformation must contain at least one Transformation"); } - this.transformations = transformations; + this.transformations = Arrays.asList(transformations); } - public MultiTransformation(List> transformationList) { + public MultiTransformation(Collection> transformationList) { if (transformationList.size() < 1) { throw new IllegalArgumentException("MultiTransformation must contain at least one Transformation"); } - this.transformationList = transformationList; + this.transformations = transformationList; } @Override public Resource transform(Resource resource, int outWidth, int outHeight) { Resource previous = resource; - if (transformations != null) { - for (Transformation transformation : transformations) { - Resource transformed = transformation.transform(previous, outWidth, outHeight); - if (transformed != previous && previous != resource && previous != null) { - previous.recycle(); - } - previous = transformed; - } - } else { - for (Transformation transformation : transformationList) { - Resource transformed = transformation.transform(previous, outWidth, outHeight); - if (transformed != previous && previous != resource && previous != null) { - previous.recycle(); - } - previous = transformed; + for (Transformation transformation : transformations) { + Resource transformed = transformation.transform(previous, outWidth, outHeight); + if (transformed != previous && previous != resource && previous != null) { + previous.recycle(); } - + previous = transformed; } return previous; } @@ -57,14 +47,8 @@ public class MultiTransformation implements Transformation { public String getId() { if (id == null) { StringBuilder sb = new StringBuilder(); - if (transformations != null) { - for (Transformation transformation : transformations) { - sb.append(transformation.getId()); - } - } else { - for (Transformation transformation : transformationList) { - sb.append(transformation.getId()); - } + for (Transformation transformation : transformations) { + sb.append(transformation.getId()); } id = sb.toString(); } -- GitLab