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 // automatically create Coil instance
.usePlugin(CoilImagesPlugin.create(context)) .usePlugin(CoilImagesPlugin.create(context))
// if you need more control // if you need more control
.usePlugin(CoilImagesPlugin.create(object : CoilImagesPlugin.CoilStore() { .usePlugin(CoilImagesPlugin.create(object : CoilImagesPlugin.CoilStore {
override load(drawable: AsyncDrawable, target: Target): RequestDisposable { override load(drawable: AsyncDrawable, target: Target): RequestDisposable {
return Coil.load(context, drawable.destination) { return Coil.load(context, drawable.destination) {
target(target) target(target)

View File

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