From e8b5d67302f343bfa262c8c90fda5145813f292a Mon Sep 17 00:00:00 2001 From: Robert Papp Date: Sun, 31 Aug 2014 12:40:10 +0200 Subject: [PATCH] Move all ArrayDeque (API 9+) creations to Util.createQueue. --- .../java/com/bumptech/glide/ListPreloader.java | 12 ++---------- .../load/engine/bitmap_recycle/BaseKeyPool.java | 14 ++------------ .../com/bumptech/glide/load/model/ModelCache.java | 4 ++-- .../glide/load/resource/bitmap/Downsampler.java | 4 ++-- .../load/resource/gif/GifResourceDecoder.java | 3 +-- .../com/bumptech/glide/request/GenericRequest.java | 3 +-- .../com/bumptech/glide/util/ByteArrayPool.java | 3 +-- .../main/java/com/bumptech/glide/util/Util.java | 13 +++++++++++++ 8 files changed, 24 insertions(+), 32 deletions(-) diff --git a/library/src/main/java/com/bumptech/glide/ListPreloader.java b/library/src/main/java/com/bumptech/glide/ListPreloader.java index 4a1d4d40e..e49d908eb 100644 --- a/library/src/main/java/com/bumptech/glide/ListPreloader.java +++ b/library/src/main/java/com/bumptech/glide/ListPreloader.java @@ -1,15 +1,12 @@ package com.bumptech.glide; -import android.annotation.TargetApi; -import android.os.Build; import android.widget.AbsListView; import com.bumptech.glide.request.animation.GlideAnimation; import com.bumptech.glide.request.target.BaseTarget; import com.bumptech.glide.request.target.SizeReadyCallback; +import com.bumptech.glide.util.Util; -import java.util.ArrayDeque; -import java.util.LinkedList; import java.util.List; import java.util.Queue; @@ -147,13 +144,8 @@ public abstract class ListPreloader implements AbsListView.OnScrollListener { private static final class PreloadTargetQueue { private final Queue queue; - @TargetApi(9) private PreloadTargetQueue(int size) { - if (Build.VERSION.SDK_INT >= 9) { - queue = new ArrayDeque(size); - } else { - queue = new LinkedList(); - } + queue = Util.createQueue(size); for (int i = 0; i < size; i++) { queue.offer(new PreloadTarget()); diff --git a/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/BaseKeyPool.java b/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/BaseKeyPool.java index cc4a7101a..bfd8d373a 100644 --- a/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/BaseKeyPool.java +++ b/library/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/BaseKeyPool.java @@ -1,22 +1,12 @@ package com.bumptech.glide.load.engine.bitmap_recycle; -import android.os.Build; +import com.bumptech.glide.util.Util; -import java.util.ArrayDeque; -import java.util.LinkedList; import java.util.Queue; abstract class BaseKeyPool { private static final int MAX_SIZE = 20; - private final Queue keyPool; - - public BaseKeyPool() { - if (Build.VERSION.SDK_INT >= 9) { - keyPool = new ArrayDeque(MAX_SIZE); - } else { - keyPool = new LinkedList(); - } - } + private final Queue keyPool = Util.createQueue(MAX_SIZE); protected T get() { T result = keyPool.poll(); diff --git a/library/src/main/java/com/bumptech/glide/load/model/ModelCache.java b/library/src/main/java/com/bumptech/glide/load/model/ModelCache.java index 36c73ee89..a2867190d 100644 --- a/library/src/main/java/com/bumptech/glide/load/model/ModelCache.java +++ b/library/src/main/java/com/bumptech/glide/load/model/ModelCache.java @@ -1,8 +1,8 @@ package com.bumptech.glide.load.model; import com.bumptech.glide.util.LruCache; +import com.bumptech.glide.util.Util; -import java.util.ArrayDeque; import java.util.Queue; /** @@ -61,7 +61,7 @@ public class ModelCache { } private static final class ModelKey { - private static final Queue KEY_QUEUE = new ArrayDeque(); + private static final Queue KEY_QUEUE = Util.createQueue(0); @SuppressWarnings("unchecked") public static ModelKey get(A model, int width, int height) { diff --git a/library/src/main/java/com/bumptech/glide/load/resource/bitmap/Downsampler.java b/library/src/main/java/com/bumptech/glide/load/resource/bitmap/Downsampler.java index 91109eb9a..3ad42fbfa 100644 --- a/library/src/main/java/com/bumptech/glide/load/resource/bitmap/Downsampler.java +++ b/library/src/main/java/com/bumptech/glide/load/resource/bitmap/Downsampler.java @@ -8,10 +8,10 @@ import android.util.Log; import com.bumptech.glide.load.DecodeFormat; import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import com.bumptech.glide.util.ByteArrayPool; +import com.bumptech.glide.util.Util; import java.io.IOException; import java.io.InputStream; -import java.util.ArrayDeque; import java.util.EnumSet; import java.util.Queue; import java.util.Set; @@ -26,7 +26,7 @@ public abstract class Downsampler implements BitmapDecoder { private static final Set TYPES_THAT_USE_POOL = EnumSet.of( ImageHeaderParser.ImageType.JPEG, ImageHeaderParser.ImageType.PNG_A, ImageHeaderParser.ImageType.PNG); - private static final Queue OPTIONS_QUEUE = new ArrayDeque(); + private static final Queue OPTIONS_QUEUE = Util.createQueue(0); @TargetApi(11) private static synchronized BitmapFactory.Options getDefaultOptions() { diff --git a/library/src/main/java/com/bumptech/glide/load/resource/gif/GifResourceDecoder.java b/library/src/main/java/com/bumptech/glide/load/resource/gif/GifResourceDecoder.java index fbe0f71a9..d491beaff 100644 --- a/library/src/main/java/com/bumptech/glide/load/resource/gif/GifResourceDecoder.java +++ b/library/src/main/java/com/bumptech/glide/load/resource/gif/GifResourceDecoder.java @@ -19,7 +19,6 @@ import java.io.IOException; import java.io.InputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.util.ArrayDeque; import java.util.Queue; import java.util.UUID; @@ -116,7 +115,7 @@ public class GifResourceDecoder implements ResourceDecoder POOL = new ArrayDeque(); + private static final Queue POOL = Util.createQueue(0); @Override public GifHeaderParser obtain(byte[] data) { diff --git a/library/src/main/java/com/bumptech/glide/request/GenericRequest.java b/library/src/main/java/com/bumptech/glide/request/GenericRequest.java index 452db8396..608e35c7d 100644 --- a/library/src/main/java/com/bumptech/glide/request/GenericRequest.java +++ b/library/src/main/java/com/bumptech/glide/request/GenericRequest.java @@ -24,7 +24,6 @@ import com.bumptech.glide.util.LogTime; import com.bumptech.glide.util.Util; import java.io.File; -import java.util.ArrayDeque; import java.util.Queue; /** @@ -38,7 +37,7 @@ import java.util.Queue; public final class GenericRequest implements Request, SizeReadyCallback, ResourceCallback { private static final String TAG = "GenericRequest"; - private static final Queue REQUEST_POOL = new ArrayDeque(); + private static final Queue REQUEST_POOL = Util.createQueue(0); private enum Status { PENDING, diff --git a/library/src/main/java/com/bumptech/glide/util/ByteArrayPool.java b/library/src/main/java/com/bumptech/glide/util/ByteArrayPool.java index 85c1ef37a..f89d5ff3b 100644 --- a/library/src/main/java/com/bumptech/glide/util/ByteArrayPool.java +++ b/library/src/main/java/com/bumptech/glide/util/ByteArrayPool.java @@ -2,7 +2,6 @@ package com.bumptech.glide.util; import android.util.Log; -import java.util.ArrayDeque; import java.util.Queue; /** @@ -16,7 +15,7 @@ public final class ByteArrayPool { private static final int MAX_SIZE = 2 * 1048 * 1024; private static final int MAX_BYTE_ARRAY_COUNT = MAX_SIZE / TEMP_BYTES_SIZE; - private final Queue tempQueue = new ArrayDeque(); + private final Queue tempQueue = Util.createQueue(0); private static final ByteArrayPool BYTE_ARRAY_POOL = new ByteArrayPool(); /** diff --git a/library/src/main/java/com/bumptech/glide/util/Util.java b/library/src/main/java/com/bumptech/glide/util/Util.java index fbfb01641..c918f28a0 100644 --- a/library/src/main/java/com/bumptech/glide/util/Util.java +++ b/library/src/main/java/com/bumptech/glide/util/Util.java @@ -1,10 +1,15 @@ package com.bumptech.glide.util; +import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.graphics.Bitmap; import android.os.Build; import android.os.Looper; +import java.util.ArrayDeque; +import java.util.LinkedList; +import java.util.Queue; + /** * A collection of assorted utility classes. */ @@ -67,4 +72,12 @@ public class Util { return !isOnMainThread(); } + @SuppressLint("NewApi") + public static Queue createQueue(int size) { + if (Build.VERSION.SDK_INT < 9) { + return new LinkedList(); + } else { + return new ArrayDeque(size); + } + } } -- GitLab