com.bumptech.glide.load.resource.bitmap
Class ImageVideoBitmapDecoder

java.lang.Object
  extended by com.bumptech.glide.load.resource.bitmap.ImageVideoBitmapDecoder
All Implemented Interfaces:
ResourceDecoder<ImageVideoWrapper,Bitmap>

public class ImageVideoBitmapDecoder
extends Object
implements ResourceDecoder<ImageVideoWrapper,Bitmap>

A ResourceDecoder that decodes ImageVideoWrappers using a wrapped ResourceDecoder for InputStreams and a wrapped ResourceDecoder for ParcelFileDescriptors. The InputStream data in the ImageVideoWrapper is always preferred.


Constructor Summary
ImageVideoBitmapDecoder(ResourceDecoder<InputStream,Bitmap> streamDecoder, ResourceDecoder<ParcelFileDescriptor,Bitmap> fileDescriptorDecoder)
           
 
Method Summary
 Resource<Bitmap> 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

ImageVideoBitmapDecoder

public ImageVideoBitmapDecoder(ResourceDecoder<InputStream,Bitmap> streamDecoder,
                               ResourceDecoder<ParcelFileDescriptor,Bitmap> fileDescriptorDecoder)
Method Detail

decode

public Resource<Bitmap> 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,Bitmap>
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,Bitmap>