com.bumptech.glide.module
Interface GlideModule


public interface GlideModule

An interface allowing lazy configuration of Glide including setting options using GlideBuilder and registering ModelLoaders.

To use this interface:

  1. Implement the GlideModule interface in a class with public visibility, calling Glide.register(Class, Class, com.bumptech.glide.load.model.ModelLoaderFactory) for each ModelLoader you'd like to register:
                      
                          public class FlickrGlideModule implements GlideModule {
                              @Override
                              public void applyOptions(Context context, GlideBuilder builder) {
                                  buidler.setDecodeFormat(DecodeFormat.ALWAYS_ARGB_8888);
                              }
    
                              @Override
                              public void registerComponents(Context context, Glide glide) {
                                  glide.register(Model.class, Data.class, new MyModelLoader());
                              }
                          }
                      
                 
  2. Add your implementation to your list of keeps in your proguard.cfg file:
                      -keepnames class * com.bumptech.glide.samples.flickr.FlickrGlideModule
                      
                  
  3. Add a metadata tag to your AndroidManifest.xml with your GlideModule implementation's fully qualified classname as the key, and GlideModule as the value:
                     <meta-data
                              android:name="com.bumptech.glide.samples.flickr.FlickrGlideModule"
                              android:value="GlideModule" />
                     
                 

All implementations must be publicly visible and contain only an empty constructor so they can be instantiated via reflection when Glide is lazily initialized.

There is no defined order in which modules are called, so projects should be careful to avoid applying conflicting settings in different modules. If an application depends on libraries that have conflicting modules, the application should consider avoiding the library modules and instead providing their required dependencies in a single application module.


Method Summary
 void applyOptions(Context context, GlideBuilder builder)
          Lazily apply options to a GlideBuilder immediately before the Glide singleton is created.
 void registerComponents(Context context, Glide glide)
          Lazily register components immediately after the Glide singleton is created but before any requests can be started.
 

Method Detail

applyOptions

void applyOptions(Context context,
                  GlideBuilder builder)
Lazily apply options to a GlideBuilder immediately before the Glide singleton is created.

This method will be called once and only once per implementation.

Parameters:
context - An Application Context.
builder - The GlideBuilder that will be used to create Glide.

registerComponents

void registerComponents(Context context,
                        Glide glide)
Lazily register components immediately after the Glide singleton is created but before any requests can be started.

This method will be called once and only once per implementation.

Parameters:
context - An Application Context.
glide - The newly created Glide singleton.