public class ResourceDrawableDecoder extends java.lang.Object implements ResourceDecoder<android.net.Uri,android.graphics.drawable.Drawable>
Drawables given resource
This is typically used as a fallback for resource types that either aren't Bitmaps (see #350)
or for resource types that we can't obtain an
InputStream for using a standard
ContentResolver, including some types of application icons and resources loaded from
|Constructor and Description|
|Modifier and Type||Method and Description|
Returns a decoded resource from the given data or null if no resource could be decoded.
public ResourceDrawableDecoder(android.content.Context context)
public boolean handles(@NonNull android.net.Uri source, @NonNull Options options)
trueif this decoder is capable of decoding the given source with the given options, and
Decoders should make a best effort attempt to quickly determine if they are likely to be able to decode data, but should not attempt to completely read the given data. A typical implementation would check the file headers verify they match content the decoder expects to handle (i.e. a GIF decoder should verify that the image contains the GIF header block.
Decoders that return
handles may still return
ResourceDecoder.decode(Object, int, int, Options) if the data is partial or formatted incorrectly.
@Nullable public Resource<android.graphics.drawable.Drawable> decode(@NonNull android.net.Uri source, int width, int height, @NonNull Options options)
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
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_ORIGINALto indicate the original resource width.
height- The ideal height in pixels of the decoded resource, or
Target.SIZE_ORIGINALto indicate the original resource height.
options- A map of string keys to objects that may or may not contain options available to this particular implementation. Implementations should not assume that any or all of their option keys are present. However, implementations may assume that if one of their option keys is present, it's value is non-null and is of the expected type.