ImageVideoGifDataLoadProvider.java revision fc3f03260933d96fae33a43846860f226dd661fe
1package com.bumptech.glide.load.resource.gifbitmap; 2 3import android.graphics.Bitmap; 4import com.bumptech.glide.DataLoadProvider; 5import com.bumptech.glide.load.ResourceDecoder; 6import com.bumptech.glide.load.ResourceEncoder; 7import com.bumptech.glide.load.model.ImageVideoWrapper; 8import com.bumptech.glide.load.resource.gif.GifData; 9 10import java.io.InputStream; 11 12public class ImageVideoGifDataLoadProvider implements DataLoadProvider<ImageVideoWrapper, GifBitmapWrapper> { 13 private final GifBitmapWrapperStreamResourceDecoder cacheDecoder; 14 private final GifBitmapWrapperResourceDecoder sourceDecoder; 15 private final GifBitmapWrapperResourceEncoder encoder; 16 17 public ImageVideoGifDataLoadProvider(DataLoadProvider<ImageVideoWrapper, Bitmap> bitmapProvider, 18 DataLoadProvider<InputStream, GifData> gifProvider) { 19 cacheDecoder = new GifBitmapWrapperStreamResourceDecoder(new GifBitmapWrapperResourceDecoder( 20 bitmapProvider.getSourceDecoder(), 21 gifProvider.getCacheDecoder())); 22 sourceDecoder = new GifBitmapWrapperResourceDecoder( 23 bitmapProvider.getSourceDecoder(), 24 gifProvider.getSourceDecoder()); 25 encoder = new GifBitmapWrapperResourceEncoder(bitmapProvider.getEncoder(), gifProvider.getEncoder()); 26 } 27 28 @Override 29 public ResourceDecoder<InputStream, GifBitmapWrapper> getCacheDecoder() { 30 return cacheDecoder; 31 } 32 33 @Override 34 public ResourceDecoder<ImageVideoWrapper, GifBitmapWrapper> getSourceDecoder() { 35 return sourceDecoder; 36 } 37 38 @Override 39 public ResourceEncoder<GifBitmapWrapper> getEncoder() { 40 return encoder; 41 } 42} 43