Add ImageLoader API
This commit is contained in:
parent
bf61d8c627
commit
4fa1ac718f
@ -8,6 +8,15 @@ Image loading based on `Coil` library
|
|||||||
val markwon = Markwon.builder(context)
|
val markwon = Markwon.builder(context)
|
||||||
// automatically create Coil instance
|
// automatically create Coil instance
|
||||||
.usePlugin(CoilImagesPlugin.create(context))
|
.usePlugin(CoilImagesPlugin.create(context))
|
||||||
|
// use supplied ImageLoader instance
|
||||||
|
.usePlugin(CoilImagesPlugin.create(
|
||||||
|
context,
|
||||||
|
ImageLoader(context) {
|
||||||
|
availableMemoryPercentage(0.5)
|
||||||
|
bitmapPoolPercentage(0.5)
|
||||||
|
crossfade(true)
|
||||||
|
}
|
||||||
|
))
|
||||||
// if you need more control
|
// if you need more control
|
||||||
.usePlugin(CoilImagesPlugin.create(object : CoilImagesPlugin.CoilStore {
|
.usePlugin(CoilImagesPlugin.create(object : CoilImagesPlugin.CoilStore {
|
||||||
override fun load(drawable: AsyncDrawable): LoadRequest {
|
override fun load(drawable: AsyncDrawable): LoadRequest {
|
||||||
|
@ -14,6 +14,7 @@ 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.RequestDisposable;
|
import coil.request.RequestDisposable;
|
||||||
@ -58,6 +59,25 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static CoilImagesPlugin create(@NonNull final Context context,
|
||||||
|
@NonNull final ImageLoader imageLoader) {
|
||||||
|
return create(new CoilStore() {
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public LoadRequest load(@NonNull AsyncDrawable drawable) {
|
||||||
|
return ImageLoaders.newLoadBuilder(imageLoader, context)
|
||||||
|
.data(drawable.getDestination())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void cancel(@NonNull RequestDisposable disposable) {
|
||||||
|
disposable.dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
public static CoilImagesPlugin create(@NonNull CoilStore coilStore) {
|
public static CoilImagesPlugin create(@NonNull CoilStore coilStore) {
|
||||||
return new CoilImagesPlugin(coilStore);
|
return new CoilImagesPlugin(coilStore);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user