Class DrawableResource<T extends android.graphics.drawable.Drawable>

  • Type Parameters:
    T - type of the wrapped Drawable
    All Implemented Interfaces:
    Initializable, Resource<T>
    Direct Known Subclasses:
    BitmapDrawableResource, GifDrawableResource

    public abstract class DrawableResource<T extends android.graphics.drawable.Drawable>
    extends java.lang.Object
    implements Resource<T>, Initializable
    Simple wrapper for an Android Drawable which returns a new drawable based on it's state.

    Suggested usages only include Ts where the new drawable is of the same or descendant class.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected T drawable  
    • Constructor Summary

      Constructors 
      Constructor Description
      DrawableResource​(T drawable)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      T get()
      Returns an instance of the wrapped resource.
      void initialize()
      Called on a background thread so the Resource can do some eager initialization.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • drawable

        protected final T extends android.graphics.drawable.Drawable drawable
    • Constructor Detail

      • DrawableResource

        public DrawableResource​(T drawable)
    • Method Detail

      • get

        @NonNull
        public final T get()
        Description copied from interface: Resource
        Returns an instance of the wrapped resource.

        Note - This does not have to be the same instance of the wrapped resource class and in fact it is often appropriate to return a new instance for each call. For example, Drawables should only be used by a single View at a time so each call to this method for Resources that wrap Drawables should always return a new Drawable.

        Specified by:
        get in interface Resource<T extends android.graphics.drawable.Drawable>
      • initialize

        public void initialize()
        Description copied from interface: Initializable
        Called on a background thread so the Resource can do some eager initialization.
        Specified by:
        initialize in interface Initializable