-
- All Implemented Interfaces:
-
coil.intercept.Interceptor
@ExperimentalCoilApi() public final class FakeImageLoaderEngine implements InterceptorAn ImageLoader interceptor that intercepts all incoming requests before they're fetched and decoded by the image loader's real image engine. This class is useful for overriding an image loader's responses in tests:
val engine = FakeImageLoaderEngine.Builder() .intercept("https://www.example.com/image.jpg", ColorDrawable(Color.RED)) .intercept({ it is String && it.endsWith("test.png") }, ColorDrawable(Color.GREEN)) .default(ColorDrawable(Color.BLUE)) .build() val imageLoader = ImageLoader.Builder(context) .components { add(engine) } .build()
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public final classFakeImageLoaderEngine.RequestValuepublic final classFakeImageLoaderEngine.ResultValuepublic interfaceFakeImageLoaderEngine.OptionalInterceptorAn Interceptor that can either:
Return an ImageResult so no subsequent interceptors are called.
Return
nullto delegate to the next OptionalInterceptor in the list.Optionally, call Interceptor.Chain.proceed to call through to the ImageLoader's real interceptor chain. Typically, this will map, fetch, and decode the data using the image loader's real image engine.
public interfaceFakeImageLoaderEngine.RequestTransformerA callback to support modifying an ImageRequest before it's handled by the OptionalInterceptors.
public final classFakeImageLoaderEngine.Builder
-
Field Summary
Fields Modifier and Type Field Description private final Flow<FakeImageLoaderEngine.RequestValue>requestsprivate final Flow<FakeImageLoaderEngine.ResultValue>resultsprivate final List<FakeImageLoaderEngine.OptionalInterceptor>interceptorsprivate final InterceptordefaultInterceptorprivate final FakeImageLoaderEngine.RequestTransformerrequestTransformer
-
Method Summary
Modifier and Type Method Description final Flow<FakeImageLoaderEngine.RequestValue>getRequests()final Flow<FakeImageLoaderEngine.ResultValue>getResults()final List<FakeImageLoaderEngine.OptionalInterceptor>getInterceptors()final InterceptorgetDefaultInterceptor()final FakeImageLoaderEngine.RequestTransformergetRequestTransformer()ImageResultintercept(Interceptor.Chain chain)final FakeImageLoaderEngine.BuildernewBuilder()Create a new FakeImageLoaderEngine.Builder with the same configuration. -
-
Method Detail
-
getRequests
final Flow<FakeImageLoaderEngine.RequestValue> getRequests()
-
getResults
final Flow<FakeImageLoaderEngine.ResultValue> getResults()
-
getInterceptors
final List<FakeImageLoaderEngine.OptionalInterceptor> getInterceptors()
-
getDefaultInterceptor
final Interceptor getDefaultInterceptor()
-
getRequestTransformer
final FakeImageLoaderEngine.RequestTransformer getRequestTransformer()
-
intercept
ImageResult intercept(Interceptor.Chain chain)
-
newBuilder
final FakeImageLoaderEngine.Builder newBuilder()
Create a new FakeImageLoaderEngine.Builder with the same configuration.
-
-
-
-