blob: d484d2fa5d76306986e6815c8ffde019dbe97bb9 [file] [log] [blame]
package org.wordpress.android.ui.media;
import android.content.Context;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;
import org.wordpress.android.WordPress;
import org.wordpress.android.models.Blog;
import org.wordpress.android.util.AppLog;
import org.wordpress.android.util.VolleyUtils;
/**
* provides the ImageLoader and backing RequestQueue for media image requests - necessary because
* images in protected blogs need to be authenticated, which requires a separate RequestQueue
*/
class MediaImageLoader {
private MediaImageLoader() {
throw new AssertionError();
}
static ImageLoader getInstance() {
return getInstance(WordPress.getCurrentBlog());
}
static ImageLoader getInstance(Blog blog) {
if (blog != null && VolleyUtils.isCustomHTTPClientStackNeeded(blog)) {
// use ImageLoader with authenticating request queue for protected blogs
AppLog.d(AppLog.T.MEDIA, "using custom imageLoader");
Context context = WordPress.getContext();
RequestQueue authRequestQueue = Volley.newRequestQueue(context, VolleyUtils.getHTTPClientStack(context, blog));
ImageLoader imageLoader = new ImageLoader(authRequestQueue, WordPress.getBitmapCache());
imageLoader.setBatchedResponseDelay(0);
return imageLoader;
} else {
// use default ImageLoader for all others
AppLog.d(AppLog.T.MEDIA, "using default imageLoader");
return WordPress.imageLoader;
}
}
}