package me.ccrama.redditslide.util; /** * Created by Carlos on 9/12/2016. */ import android.content.Context; import com.nostra13.universalimageloader.core.assist.ContentLengthInputStream; import com.nostra13.universalimageloader.core.download.BaseImageDownloader; import java.io.IOException; import java.io.InputStream; import me.ccrama.redditslide.Reddit; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.ResponseBody; /** * Implementation of ImageDownloader which uses {@link com.squareup.okhttp.OkHttpClient} for image * stream retrieving. * * @author Sergey Tarasevich (nostra13[at]gmail[dot]com) * @author Leo Link (mr[dot]leolink[at]gmail[dot]com) */ public class OkHttpImageDownloader extends BaseImageDownloader { public OkHttpImageDownloader(Context context) { super(context); } @Override protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException { Request request = new Request.Builder().url(imageUri).build(); ResponseBody responseBody = Reddit.client.newCall(request).execute().body(); InputStream inputStream = responseBody.byteStream(); int contentLength = (int) responseBody.contentLength(); return new ContentLengthInputStream(inputStream, contentLength); } }