package com.simplecity.amp_library.glide.loader; import android.content.Context; import com.bumptech.glide.load.data.DataFetcher; import com.bumptech.glide.load.model.GenericLoaderFactory; import com.bumptech.glide.load.model.ModelLoader; import com.bumptech.glide.load.model.ModelLoaderFactory; import com.simplecity.amp_library.glide.fetcher.MultiFetcher; import com.simplecity.amp_library.model.ArtworkProvider; import java.io.InputStream; public class ArtworkModelLoader implements ModelLoader<ArtworkProvider, InputStream> { private boolean allowOfflineDownload; public ArtworkModelLoader(boolean allowOfflineDownload){ this.allowOfflineDownload = allowOfflineDownload; } private static final String TAG = "ArtworkModelLoader"; @Override public DataFetcher<InputStream> getResourceFetcher(ArtworkProvider model, int width, int height) { return new MultiFetcher(model, allowOfflineDownload); } /** * The default factory for {@link ArtworkModelLoader}s. */ public static class Factory implements ModelLoaderFactory<ArtworkProvider, InputStream> { @Override public ModelLoader<ArtworkProvider, InputStream> build(Context context, GenericLoaderFactory factories) { return new ArtworkModelLoader(false); } @Override public void teardown() { // Do nothing. } } }