Merge pull request #284 from magnusvs/upgrade-coil-0.12.0
Update Coil to 0.12.0 and fix breaking changes
This commit is contained in:
		
						commit
						fa286287c8
					
				| @ -2,8 +2,8 @@ package io.noties.markwon.app.samples.image | ||||
| 
 | ||||
| import androidx.recyclerview.widget.LinearLayoutManager | ||||
| import coil.Coil | ||||
| import coil.request.LoadRequest | ||||
| import coil.request.RequestDisposable | ||||
| import coil.request.Disposable | ||||
| import coil.request.ImageRequest | ||||
| import coil.transform.RoundedCornersTransformation | ||||
| import io.noties.markwon.Markwon | ||||
| import io.noties.markwon.app.R | ||||
| @ -51,8 +51,8 @@ class CoilRecyclerViewSample : MarkwonRecyclerViewSample() { | ||||
|     val markwon = Markwon.builder(context) | ||||
|       .usePlugin(CoilImagesPlugin.create( | ||||
|         object : CoilImagesPlugin.CoilStore { | ||||
|           override fun load(drawable: AsyncDrawable): LoadRequest { | ||||
|             return LoadRequest.Builder(context) | ||||
|           override fun load(drawable: AsyncDrawable): ImageRequest { | ||||
|             return ImageRequest.Builder(context) | ||||
|               .transformations( | ||||
|                 RoundedCornersTransformation(14F) | ||||
|               ) | ||||
| @ -61,7 +61,7 @@ class CoilRecyclerViewSample : MarkwonRecyclerViewSample() { | ||||
|               .build() | ||||
|           } | ||||
| 
 | ||||
|           override fun cancel(disposable: RequestDisposable) { | ||||
|           override fun cancel(disposable: Disposable) { | ||||
|             disposable.dispose() | ||||
|           } | ||||
|         }, | ||||
|  | ||||
| @ -58,7 +58,7 @@ ext { | ||||
| 
 | ||||
|     final def commonMarkVersion = '0.13.0' | ||||
|     final def daggerVersion = '2.10' | ||||
|     final def coilVersion = '0.10.1' | ||||
|     final def coilVersion = '0.12.0' | ||||
| 
 | ||||
|     // please note that `pl.droidsonroids.gif:android-gif-drawable:1.2.15` is used due to the minimum | ||||
|     // api level mismatch that Markwon supports (16) and later versions of AndroidGifDrawable (17). | ||||
|  | ||||
| @ -16,8 +16,8 @@ import java.util.concurrent.atomic.AtomicBoolean; | ||||
| 
 | ||||
| import coil.Coil; | ||||
| import coil.ImageLoader; | ||||
| import coil.request.LoadRequest; | ||||
| import coil.request.RequestDisposable; | ||||
| import coil.request.ImageRequest; | ||||
| import coil.request.Disposable; | ||||
| import coil.target.Target; | ||||
| import io.noties.markwon.AbstractMarkwonPlugin; | ||||
| import io.noties.markwon.MarkwonConfiguration; | ||||
| @ -37,9 +37,9 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin { | ||||
|     public interface CoilStore { | ||||
| 
 | ||||
|         @NonNull | ||||
|         LoadRequest load(@NonNull AsyncDrawable drawable); | ||||
|         ImageRequest load(@NonNull AsyncDrawable drawable); | ||||
| 
 | ||||
|         void cancel(@NonNull RequestDisposable disposable); | ||||
|         void cancel(@NonNull Disposable disposable); | ||||
|     } | ||||
| 
 | ||||
|     @NonNull | ||||
| @ -47,14 +47,14 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin { | ||||
|         return create(new CoilStore() { | ||||
|             @NonNull | ||||
|             @Override | ||||
|             public LoadRequest load(@NonNull AsyncDrawable drawable) { | ||||
|                 return LoadRequest.builder(context) | ||||
|             public ImageRequest load(@NonNull AsyncDrawable drawable) { | ||||
|                 return new ImageRequest.Builder(context) | ||||
|                         .data(drawable.getDestination()) | ||||
|                         .build(); | ||||
|             } | ||||
| 
 | ||||
|             @Override | ||||
|             public void cancel(@NonNull RequestDisposable disposable) { | ||||
|             public void cancel(@NonNull Disposable disposable) { | ||||
|                 disposable.dispose(); | ||||
|             } | ||||
|         }, Coil.imageLoader(context)); | ||||
| @ -66,14 +66,14 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin { | ||||
|         return create(new CoilStore() { | ||||
|             @NonNull | ||||
|             @Override | ||||
|             public LoadRequest load(@NonNull AsyncDrawable drawable) { | ||||
|                 return LoadRequest.builder(context) | ||||
|             public ImageRequest load(@NonNull AsyncDrawable drawable) { | ||||
|                 return new ImageRequest.Builder(context) | ||||
|                         .data(drawable.getDestination()) | ||||
|                         .build(); | ||||
|             } | ||||
| 
 | ||||
|             @Override | ||||
|             public void cancel(@NonNull RequestDisposable disposable) { | ||||
|             public void cancel(@NonNull Disposable disposable) { | ||||
|                 disposable.dispose(); | ||||
|             } | ||||
|         }, imageLoader); | ||||
| @ -116,7 +116,7 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin { | ||||
| 
 | ||||
|         private final CoilStore coilStore; | ||||
|         private final ImageLoader imageLoader; | ||||
|         private final Map<AsyncDrawable, RequestDisposable> cache = new HashMap<>(2); | ||||
|         private final Map<AsyncDrawable, Disposable> cache = new HashMap<>(2); | ||||
| 
 | ||||
|         CoilAsyncDrawableLoader(@NonNull CoilStore coilStore, @NonNull ImageLoader imageLoader) { | ||||
|             this.coilStore = coilStore; | ||||
| @ -127,13 +127,13 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin { | ||||
|         public void load(@NonNull AsyncDrawable drawable) { | ||||
|             final AtomicBoolean loaded = new AtomicBoolean(false); | ||||
|             final Target target = new AsyncDrawableTarget(drawable, loaded); | ||||
|             final LoadRequest request = coilStore.load(drawable).newBuilder() | ||||
|             final ImageRequest request = coilStore.load(drawable).newBuilder() | ||||
|                     .target(target) | ||||
|                     .build(); | ||||
|             // @since 4.5.1 execute can return result _before_ disposable is created, | ||||
|             //  thus `execute` would finish before we put disposable in cache (and thus result is | ||||
|             //  not delivered) | ||||
|             final RequestDisposable disposable = imageLoader.execute(request); | ||||
|             final Disposable disposable = imageLoader.enqueue(request); | ||||
|             // if flag was not set, then job is running (else - finished before we got here) | ||||
|             if (!loaded.get()) { | ||||
|                 // mark flag | ||||
| @ -144,7 +144,7 @@ public class CoilImagesPlugin extends AbstractMarkwonPlugin { | ||||
| 
 | ||||
|         @Override | ||||
|         public void cancel(@NonNull AsyncDrawable drawable) { | ||||
|             final RequestDisposable disposable = cache.remove(drawable); | ||||
|             final Disposable disposable = cache.remove(drawable); | ||||
|             if (disposable != null) { | ||||
|                 coilStore.cancel(disposable); | ||||
|             } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Dimitry
						Dimitry