com.bumptech.glide.load.resource.gifbitmap
Class GifBitmapWrapperResourceDecoder

java.lang.Object
  extended by com.bumptech.glide.load.resource.gifbitmap.GifBitmapWrapperResourceDecoder
All Implemented Interfaces:
ResourceDecoder<ImageVideoWrapper,GifBitmapWrapper>

public class GifBitmapWrapperResourceDecoder
extends Object
implements ResourceDecoder<ImageVideoWrapper,GifBitmapWrapper>

An ResourceDecoder that can decode either an Bitmap or an GifDrawable from an InputStream or a ParcelFileDescriptor.


Constructor Summary
GifBitmapWrapperResourceDecoder(ResourceDecoder<ImageVideoWrapper,Bitmap> bitmapDecoder, ResourceDecoder<InputStream,GifDrawable> gifDecoder, BitmapPool bitmapPool)
           
 
Method Summary
 Resource<GifBitmapWrapper> decode(ImageVideoWrapper source, int width, int height)
          Returns a decoded resource from the given data or null if no resource could be decoded.
 String getId()
          Returns an ID identifying any transformation this decoder may apply to the given data that will be mixed in to the cache key.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GifBitmapWrapperResourceDecoder

public GifBitmapWrapperResourceDecoder(ResourceDecoder<ImageVideoWrapper,Bitmap> bitmapDecoder,
                                       ResourceDecoder<InputStream,GifDrawable> gifDecoder,
                                       BitmapPool bitmapPool)
Method Detail

decode

public Resource<GifBitmapWrapper> decode(ImageVideoWrapper source,
                                         int width,
                                         int height)
                                  throws IOException
Description copied from interface: ResourceDecoder
Returns a decoded resource from the given data or null if no resource could be decoded.

The source is managed by the caller, there's no need to close it. The returned Resource will be released when the engine sees fit.

Note - The width and height arguments are hints only, there is no requirement that the decoded resource exactly match the given dimensions. A typical use case would be to use the target dimensions to determine how much to downsample Bitmaps by to avoid overly large allocations.

Specified by:
decode in interface ResourceDecoder<ImageVideoWrapper,GifBitmapWrapper>
Parameters:
source - The data the resource should be decoded from.
width - The ideal width in pixels of the decoded resource, or Target.SIZE_ORIGINAL to indicate the original resource width.
height - The ideal height in pixels of the decoded resource, or Target.SIZE_ORIGINAL to indicate the original resource height.
Throws:
IOException

getId

public String getId()
Description copied from interface: ResourceDecoder
Returns an ID identifying any transformation this decoder may apply to the given data that will be mixed in to the cache key.

If the decoder does not transform the data in a way that significantly affects the cached result (ie performs no downsampling) an empty string is an appropriate id.

Specified by:
getId in interface ResourceDecoder<ImageVideoWrapper,GifBitmapWrapper>