T
- The type the resource will be decoded from (File, InputStream etc).Z
- The type of the decoded resource (Bitmap, Drawable etc).public interface ResourceDecoder<T,Z>
Modifier and Type | Method and Description |
---|---|
Resource<Z> |
decode(T 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.
|
Resource<Z> decode(T source, int width, int height) throws IOException
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.
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
String getId()
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.