aboutsummaryrefslogtreecommitdiff
path: root/library/src/main/java/com/bumptech/glide/load/resource/gif/GifFrameManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'library/src/main/java/com/bumptech/glide/load/resource/gif/GifFrameManager.java')
-rw-r--r--library/src/main/java/com/bumptech/glide/load/resource/gif/GifFrameManager.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/library/src/main/java/com/bumptech/glide/load/resource/gif/GifFrameManager.java b/library/src/main/java/com/bumptech/glide/load/resource/gif/GifFrameManager.java
index 254f30e6..0d343d0a 100644
--- a/library/src/main/java/com/bumptech/glide/load/resource/gif/GifFrameManager.java
+++ b/library/src/main/java/com/bumptech/glide/load/resource/gif/GifFrameManager.java
@@ -5,22 +5,24 @@ import android.graphics.Bitmap;
import android.os.Handler;
import android.os.Looper;
import android.os.SystemClock;
+
import com.bumptech.glide.Glide;
import com.bumptech.glide.gifdecoder.GifDecoder;
+import com.bumptech.glide.load.NullResourceEncoder;
import com.bumptech.glide.load.ResourceDecoder;
import com.bumptech.glide.load.ResourceEncoder;
-import com.bumptech.glide.load.SkipCache;
import com.bumptech.glide.load.Transformation;
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
import com.bumptech.glide.load.engine.cache.MemorySizeCalculator;
import com.bumptech.glide.load.model.NullEncoder;
+import com.bumptech.glide.load.resource.FileToStreamDecoder;
import com.bumptech.glide.load.resource.NullDecoder;
import com.bumptech.glide.load.resource.bitmap.BitmapEncoder;
import com.bumptech.glide.load.resource.bitmap.StreamBitmapDecoder;
import com.bumptech.glide.request.GlideAnimation;
import com.bumptech.glide.request.target.SimpleTarget;
-import java.io.InputStream;
+import java.io.File;
class GifFrameManager {
// 16ms per frame = 60fps
@@ -28,7 +30,7 @@ class GifFrameManager {
private final MemorySizeCalculator calculator;
private final GifFrameModelLoader frameLoader;
private final GifFrameResourceDecoder frameResourceDecoder;
- private final ResourceDecoder<InputStream, Bitmap> cacheDecoder;
+ private final ResourceDecoder<File, Bitmap> cacheDecoder;
private final GifDecoder decoder;
private final Handler mainHandler;
private final ResourceEncoder<Bitmap> encoder;
@@ -67,13 +69,15 @@ class GifFrameManager {
if (!decoder.isTransparent()) {
// For non transparent gifs, we can beat the performance of our gif decoder for each frame by decoding jpegs
// from disk.
- cacheDecoder = new StreamBitmapDecoder(context);
+
+ //TODO:
+ cacheDecoder = new FileToStreamDecoder<Bitmap>(new StreamBitmapDecoder(context));
encoder = new BitmapEncoder(Bitmap.CompressFormat.JPEG, 70);
} else {
// For transparent gifs, we would have to encode as pngs which is actually slower than our gif decoder so we
// avoid writing frames to the disk cache entirely.
cacheDecoder = NullDecoder.get();
- encoder = SkipCache.get();
+ encoder = NullResourceEncoder.get();
}
}