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)
|
||||
// automatically create Coil instance
|
||||
.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
|
||||
.usePlugin(CoilImagesPlugin.create(object : CoilImagesPlugin.CoilStore {
|
||||
override fun load(drawable: AsyncDrawable): LoadRequest {
|
||||
|
@ -14,6 +14,7 @@ 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.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
|
||||
public static CoilImagesPlugin create(@NonNull CoilStore coilStore) {
|
||||
return new CoilImagesPlugin(coilStore);
|
||||
|
Loading…
x
Reference in New Issue
Block a user