public class ImageVideoBitmapDecoder extends Object implements ResourceDecoder<ImageVideoWrapper,Bitmap>
ResourceDecoder
that decodes ImageVideoWrapper
s using
a wrapped ResourceDecoder
for InputStream
s
and a wrapped ResourceDecoder
for ParcelFileDescriptor
s.
The InputStream
data in the ImageVideoWrapper
is always preferred.Constructor and Description |
---|
ImageVideoBitmapDecoder(ResourceDecoder<InputStream,Bitmap> streamDecoder,
ResourceDecoder<ParcelFileDescriptor,Bitmap> fileDescriptorDecoder) |
Modifier and Type | Method and Description |
---|---|
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.
|
public ImageVideoBitmapDecoder(ResourceDecoder<InputStream,Bitmap> streamDecoder, ResourceDecoder<ParcelFileDescriptor,Bitmap> fileDescriptorDecoder)
public Resource<Bitmap> decode(ImageVideoWrapper source, int width, int height) throws IOException
ResourceDecoder
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.
decode
in interface ResourceDecoder<ImageVideoWrapper,Bitmap>
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.IOException
public String getId()
ResourceDecoder
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.
getId
in interface ResourceDecoder<ImageVideoWrapper,Bitmap>