package cl.monsoon.s1next.widget; import android.content.Context; import com.bumptech.glide.load.data.DataFetcher; import com.bumptech.glide.load.model.GenericLoaderFactory; import com.bumptech.glide.load.model.GlideUrl; import com.bumptech.glide.load.model.ModelLoader; import com.bumptech.glide.load.model.ModelLoaderFactory; import java.io.InputStream; import okhttp3.OkHttpClient; /** * A simple model loader for fetching media over HTTP/HTTPS using OkHttp. * <p> * Forked from https://github.com/bumptech/glide/blob/master/integration/okhttp/src/main/java/com/bumptech/glide/integration/okhttp/OkHttpUrlLoader.java */ final class OkHttpUrlLoader implements ModelLoader<GlideUrl, InputStream> { private final OkHttpClient mOkHttpClient; private OkHttpUrlLoader(OkHttpClient okHttpClient) { this.mOkHttpClient = okHttpClient; } @Override public DataFetcher<InputStream> getResourceFetcher(GlideUrl model, int width, int height) { return new OkHttpStreamFetcher(mOkHttpClient, model); } /** * The default factory for {@link OkHttpUrlLoader}. */ public static final class Factory implements ModelLoaderFactory<GlideUrl, InputStream> { private final OkHttpClient mOkHttpClient; /** * Constructor for a new Factory that runs requests using given client. */ public Factory(OkHttpClient okHttpClient) { this.mOkHttpClient = okHttpClient; } @Override public ModelLoader<GlideUrl, InputStream> build(Context context, GenericLoaderFactory factories) { return new OkHttpUrlLoader(mOkHttpClient); } @Override public void teardown() { // Do nothing, this instance doesn't own the client. } } }