diff --git a/library/src/main/java/com/bumptech/glide/GenericRequestBuilder.java b/library/src/main/java/com/bumptech/glide/GenericRequestBuilder.java index 4e343e4a9abcd11e600e635f5274c698ab96217b..64383882642267503039f43d5c79418f752c730b 100644 --- a/library/src/main/java/com/bumptech/glide/GenericRequestBuilder.java +++ b/library/src/main/java/com/bumptech/glide/GenericRequestBuilder.java @@ -45,7 +45,8 @@ import java.util.List; */ public class GenericRequestBuilder { private final Context context; - private final List> transformations = new ArrayList>(); + private List> transformations = null; + private Transformation singleTransformation = Transformation.NONE; private final ModelType model; private final ChildLoadProvider loadProvider; private final Class transcodeClass; @@ -234,7 +235,13 @@ public class GenericRequestBuilder transform( Transformation transformation) { - transformations.add(transformation); + if (singleTransformation == Transformation.NONE) { + singleTransformation = transformation; + } else { + transformations = new ArrayList>(); + transformations.add(singleTransformation); + transformations.add(transformation); + } return this; } @@ -571,13 +578,10 @@ public class GenericRequestBuilder getFinalTransformation() { - switch (transformations.size()) { - case 0: - return Transformation.NONE; - case 1: - return transformations.get(0); - default: - return new MultiTransformation(transformations); + if (transformations == null) { + return singleTransformation; + } else { + return new MultiTransformation(transformations); } } }