Expose LoadRequestBuilder

This commit is contained in:
Tyler Wong 2019-11-12 23:23:28 -08:00
parent 1983b1b46e
commit 0c305fa0ba
2 changed files with 9 additions and 11 deletions

View File

@ -9,7 +9,7 @@ val markwon = Markwon.builder(context)
// automatically create Coil instance
.usePlugin(CoilImagesPlugin.create(context))
// if you need more control
.usePlugin(CoilImagesPlugin.create(object : CoilImagesPlugin.CoilStore() {
.usePlugin(CoilImagesPlugin.create(object : CoilImagesPlugin.CoilStore {
override load(drawable: AsyncDrawable, target: Target): RequestDisposable {
return Coil.load(context, drawable.destination) {
target(target)

View File

@ -14,7 +14,6 @@ import java.util.HashMap;
import java.util.Map;
import coil.Coil;
import coil.ImageLoader;
import coil.api.ImageLoaders;
import coil.request.LoadRequest;
import coil.request.LoadRequestBuilder;
@ -37,7 +36,7 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin {
public interface CoilStore {
@NonNull
RequestDisposable load(@NonNull AsyncDrawable drawable, @NonNull Target target);
LoadRequestBuilder load(@NonNull AsyncDrawable drawable);
void cancel(@NonNull RequestDisposable disposable);
}
@ -47,13 +46,9 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin {
return create(new CoilStore() {
@NonNull
@Override
public RequestDisposable load(@NonNull AsyncDrawable drawable, @NonNull Target target) {
ImageLoader imageLoader = Coil.loader();
LoadRequest request = ImageLoaders.newLoadBuilder(imageLoader, context)
.data(drawable.getDestination())
.target(target)
.build();
return imageLoader.load(request);
public LoadRequestBuilder load(@NonNull AsyncDrawable drawable) {
return ImageLoaders.newLoadBuilder(Coil.loader(), context)
.data(drawable.getDestination());
}
@Override
@ -107,7 +102,10 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin {
@Override
public void load(@NonNull AsyncDrawable drawable) {
final Target target = new AsyncDrawableTarget(drawable);
RequestDisposable disposable = coilStore.load(drawable, target);
LoadRequest request = coilStore.load(drawable)
.target(target)
.build();
RequestDisposable disposable = Coil.loader().load(request);
cache.put(drawable, disposable);
}