diff --git a/docs/docs/v4/image-coil/README.md b/docs/docs/v4/image-coil/README.md index 643632be..7369fab7 100644 --- a/docs/docs/v4/image-coil/README.md +++ b/docs/docs/v4/image-coil/README.md @@ -20,7 +20,8 @@ val markwon = Markwon.builder(context) // if you need more control .usePlugin(CoilImagesPlugin.create(object : CoilImagesPlugin.CoilStore { override fun load(drawable: AsyncDrawable): LoadRequest { - return LoadRequest(context, Coil.loader().defaults) { + return LoadRequest(context, customImageLoader.defaults) { + data(drawable.destination) crossfade(true) transformations(CircleCropTransformation()) } @@ -29,6 +30,6 @@ val markwon = Markwon.builder(context) override cancel(disposable: RequestDisposable) { disposable.dispose() } - })) + }, customImageLoader)) .build() ``` \ No newline at end of file diff --git a/markwon-image-coil/src/main/java/io/noties/markwon/image/coil/CoilImagesPlugin.java b/markwon-image-coil/src/main/java/io/noties/markwon/image/coil/CoilImagesPlugin.java index 8e55d00d..8459cb81 100644 --- a/markwon-image-coil/src/main/java/io/noties/markwon/image/coil/CoilImagesPlugin.java +++ b/markwon-image-coil/src/main/java/io/noties/markwon/image/coil/CoilImagesPlugin.java @@ -56,7 +56,7 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin { public void cancel(@NonNull RequestDisposable disposable) { disposable.dispose(); } - }); + }, Coil.loader()); } @NonNull @@ -75,19 +75,20 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin { public void cancel(@NonNull RequestDisposable disposable) { disposable.dispose(); } - }); + }, imageLoader); } @NonNull - public static CoilImagesPlugin create(@NonNull CoilStore coilStore) { - return new CoilImagesPlugin(coilStore); + public static CoilImagesPlugin create(@NonNull final CoilStore coilStore, + @NonNull final ImageLoader imageLoader) { + return new CoilImagesPlugin(coilStore, imageLoader); } private final CoilAsyncDrawableLoader coilAsyncDrawableLoader; @SuppressWarnings("WeakerAccess") - CoilImagesPlugin(@NonNull CoilStore coilStore) { - this.coilAsyncDrawableLoader = new CoilAsyncDrawableLoader(coilStore); + CoilImagesPlugin(@NonNull CoilStore coilStore, @NonNull ImageLoader imageLoader) { + this.coilAsyncDrawableLoader = new CoilAsyncDrawableLoader(coilStore, imageLoader); } @Override @@ -113,10 +114,12 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin { private static class CoilAsyncDrawableLoader extends AsyncDrawableLoader { private final CoilStore coilStore; + private final ImageLoader imageLoader; private final Map cache = new HashMap<>(2); - CoilAsyncDrawableLoader(@NonNull CoilStore coilStore) { + CoilAsyncDrawableLoader(@NonNull CoilStore coilStore, @NonNull ImageLoader imageLoader) { this.coilStore = coilStore; + this.imageLoader = imageLoader; } @Override @@ -125,7 +128,7 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin { LoadRequest request = coilStore.load(drawable).newBuilder() .target(target) .build(); - RequestDisposable disposable = Coil.loader().load(request); + RequestDisposable disposable = imageLoader.load(request); cache.put(drawable, disposable); }