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);
}
}