-
public final class ProducerSequenceFactory
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public classProducerSequenceFactory.Companion
-
Field Summary
Fields Modifier and Type Field Description private Map<Producer<CloseableReference<CloseableImage>>, Producer<CloseableReference<CloseableImage>>>postprocessorSequencesprivate Map<Producer<CloseableReference<CloseableImage>>, Producer<Void>>closeableImagePrefetchSequencesprivate Map<Producer<CloseableReference<CloseableImage>>, Producer<CloseableReference<CloseableImage>>>bitmapPrepareSequencesprivate final Producer<CloseableReference<PooledByteBuffer>>networkFetchEncodedImageProducerSequenceprivate final Producer<CloseableReference<PooledByteBuffer>>localFileFetchEncodedImageProducerSequenceprivate final Producer<CloseableReference<PooledByteBuffer>>localContentUriFetchEncodedImageProducerSequenceprivate final Producer<CloseableReference<CloseableImage>>networkFetchSequenceprivate final Producer<EncodedImage>backgroundNetworkFetchToEncodedMemorySequenceprivate final Producer<Void>networkFetchToEncodedMemoryPrefetchSequenceprivate final Producer<EncodedImage>commonNetworkFetchToEncodedMemorySequenceprivate final Producer<Void>localFileFetchToEncodedMemoryPrefetchSequenceprivate final Producer<EncodedImage>backgroundLocalFileFetchToEncodeMemorySequenceprivate final Producer<EncodedImage>backgroundLocalContentUriFetchToEncodeMemorySequenceprivate final Producer<CloseableReference<CloseableImage>>localImageFileFetchSequenceprivate final Producer<CloseableReference<CloseableImage>>localVideoFileFetchSequenceprivate final Producer<CloseableReference<CloseableImage>>localContentUriFetchSequenceprivate final Producer<CloseableReference<CloseableImage>>localContentUriThumbnailFetchSequenceprivate final Producer<CloseableReference<CloseableImage>>qualifiedResourceFetchSequenceprivate final Producer<CloseableReference<CloseableImage>>localResourceFetchSequenceprivate final Producer<CloseableReference<CloseableImage>>localAssetFetchSequenceprivate final Producer<CloseableReference<CloseableImage>>dataFetchSequence
-
Constructor Summary
Constructors Constructor Description ProducerSequenceFactory(ContentResolver contentResolver, ProducerFactory producerFactory, NetworkFetcher<?> networkFetcher, Boolean resizeAndRotateEnabledForNetwork, Boolean webpSupportEnabled, ThreadHandoffProducerQueue threadHandoffProducerQueue, Boolean downSampleEnabled, Boolean useBitmapPrepareToDraw, Boolean partialImageCachingEnabled, Boolean diskCacheEnabled, ImageTranscoderFactory imageTranscoderFactory, Boolean isEncodedMemoryCacheProbingEnabled, Boolean isDiskCacheProbingEnabled, Boolean allowDelay, Set<CustomProducerSequenceFactory> customProducerSequenceFactories)
-
Method Summary
Modifier and Type Method Description final Map<Producer<CloseableReference<CloseableImage>>, Producer<CloseableReference<CloseableImage>>>getPostprocessorSequences()final UnitsetPostprocessorSequences(Map<Producer<CloseableReference<CloseableImage>>, Producer<CloseableReference<CloseableImage>>> postprocessorSequences)final Map<Producer<CloseableReference<CloseableImage>>, Producer<Void>>getCloseableImagePrefetchSequences()final UnitsetCloseableImagePrefetchSequences(Map<Producer<CloseableReference<CloseableImage>>, Producer<Void>> closeableImagePrefetchSequences)final Map<Producer<CloseableReference<CloseableImage>>, Producer<CloseableReference<CloseableImage>>>getBitmapPrepareSequences()final UnitsetBitmapPrepareSequences(Map<Producer<CloseableReference<CloseableImage>>, Producer<CloseableReference<CloseableImage>>> bitmapPrepareSequences)final Producer<CloseableReference<PooledByteBuffer>>getNetworkFetchEncodedImageProducerSequence()Returns a sequence that can be used for a request for an encoded image from network. final Producer<CloseableReference<PooledByteBuffer>>getLocalFileFetchEncodedImageProducerSequence()Returns a sequence that can be used for a request for an encoded image from a local file. final Producer<CloseableReference<PooledByteBuffer>>getLocalContentUriFetchEncodedImageProducerSequence()Returns a sequence that can be used for a request for an encoded image from a local content uri. final Producer<CloseableReference<CloseableImage>>getNetworkFetchSequence()swallow result if prefetch -> bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> decode -> multiplex -> encoded cache -> disk cache -> (webp transcode) -> network fetch. final Producer<EncodedImage>getBackgroundNetworkFetchToEncodedMemorySequence()background-thread hand-off -> multiplex -> encoded cache -> disk cache -> (webp transcode) -> network fetch. final Producer<Void>getNetworkFetchToEncodedMemoryPrefetchSequence()swallow-result -> background-thread hand-off -> multiplex -> encoded cache -> disk cache -> (webp transcode) -> network fetch. final Producer<EncodedImage>getCommonNetworkFetchToEncodedMemorySequence()multiplex -> encoded cache -> disk cache -> (webp transcode) -> network fetch. final Producer<Void>getLocalFileFetchToEncodedMemoryPrefetchSequence()swallow-result -> background-thread hand-off -> multiplex -> encoded cache -> disk cache -> (webp transcode) -> local file fetch. final Producer<EncodedImage>getBackgroundLocalFileFetchToEncodeMemorySequence()background-thread hand-off -> multiplex -> encoded cache -> disk cache -> (webp transcode) -> local file fetch final Producer<EncodedImage>getBackgroundLocalContentUriFetchToEncodeMemorySequence()background-thread hand-off -> multiplex -> encoded cache -> disk cache -> (webp transcode) -> local content resolver fetch final Producer<CloseableReference<CloseableImage>>getLocalImageFileFetchSequence()bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> decode -> branch on separate images -> exif resize and rotate -> exif thumbnail creation -> local image resize and rotate -> add meta data producer -> multiplex -> encoded cache -> (webp transcode) -> local file fetch. final Producer<CloseableReference<CloseableImage>>getLocalVideoFileFetchSequence()Bitmap cache get -> thread hand off -> multiplex -> bitmap cache -> local video thumbnail final Producer<CloseableReference<CloseableImage>>getLocalContentUriFetchSequence()bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> decode -> branch on separate images -> thumbnail resize and rotate -> thumbnail branch -> local content thumbnail creation -> exif thumbnail creation -> local image resize and rotate -> add meta data producer -> multiplex -> encoded cache -> (webp transcode) -> local content uri fetch. final Producer<CloseableReference<CloseableImage>>getLocalContentUriThumbnailFetchSequence()bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> local thumbnail bitmap final Producer<CloseableReference<CloseableImage>>getQualifiedResourceFetchSequence()bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> decode -> branch on separate images -> exif resize and rotate -> exif thumbnail creation -> local image resize and rotate -> add meta data producer -> multiplex -> encoded cache -> (webp transcode) -> qualified resource fetch. final Producer<CloseableReference<CloseableImage>>getLocalResourceFetchSequence()bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> decode -> branch on separate images -> exif resize and rotate -> exif thumbnail creation -> local image resize and rotate -> add meta data producer -> multiplex -> encoded cache -> (webp transcode) -> local resource fetch. final Producer<CloseableReference<CloseableImage>>getLocalAssetFetchSequence()bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> decode -> branch on separate images -> exif resize and rotate -> exif thumbnail creation -> local image resize and rotate -> add meta data producer -> multiplex -> encoded cache -> (webp transcode) -> local asset fetch. final Producer<CloseableReference<CloseableImage>>getDataFetchSequence()bitmap cache get -> background thread hand-off -> bitmap cache -> decode -> resize and rotate -> (webp transcode) -> data fetch. final Producer<CloseableReference<PooledByteBuffer>>getEncodedImageProducerSequence(ImageRequest imageRequest)Returns a sequence that can be used for a request for an encoded image from either network or local files. final Producer<Void>getEncodedImagePrefetchProducerSequence(ImageRequest imageRequest)Returns a sequence that can be used for a prefetch request for an encoded image. final Producer<CloseableReference<CloseableImage>>getDecodedImageProducerSequence(ImageRequest imageRequest)Returns a sequence that can be used for a request for a decoded image. final Producer<Void>getDecodedImagePrefetchProducerSequence(ImageRequest imageRequest)Returns a sequence that can be used for a prefetch request for a decoded image. final Producer<EncodedImage>newCommonNetworkFetchToEncodedMemorySequence(NetworkFetcher<?> networkFetcher)final Producer<CloseableReference<CloseableImage>>newBitmapCacheGetToDecodeSequence(Producer<EncodedImage> inputProducer)Same as newBitmapCacheGetToBitmapCacheSequencebut with an extra DecodeProducer.-
-
Constructor Detail
-
ProducerSequenceFactory
ProducerSequenceFactory(ContentResolver contentResolver, ProducerFactory producerFactory, NetworkFetcher<?> networkFetcher, Boolean resizeAndRotateEnabledForNetwork, Boolean webpSupportEnabled, ThreadHandoffProducerQueue threadHandoffProducerQueue, Boolean downSampleEnabled, Boolean useBitmapPrepareToDraw, Boolean partialImageCachingEnabled, Boolean diskCacheEnabled, ImageTranscoderFactory imageTranscoderFactory, Boolean isEncodedMemoryCacheProbingEnabled, Boolean isDiskCacheProbingEnabled, Boolean allowDelay, Set<CustomProducerSequenceFactory> customProducerSequenceFactories)
-
-
Method Detail
-
getPostprocessorSequences
final Map<Producer<CloseableReference<CloseableImage>>, Producer<CloseableReference<CloseableImage>>> getPostprocessorSequences()
-
setPostprocessorSequences
final Unit setPostprocessorSequences(Map<Producer<CloseableReference<CloseableImage>>, Producer<CloseableReference<CloseableImage>>> postprocessorSequences)
-
getCloseableImagePrefetchSequences
final Map<Producer<CloseableReference<CloseableImage>>, Producer<Void>> getCloseableImagePrefetchSequences()
-
setCloseableImagePrefetchSequences
final Unit setCloseableImagePrefetchSequences(Map<Producer<CloseableReference<CloseableImage>>, Producer<Void>> closeableImagePrefetchSequences)
-
getBitmapPrepareSequences
final Map<Producer<CloseableReference<CloseableImage>>, Producer<CloseableReference<CloseableImage>>> getBitmapPrepareSequences()
-
setBitmapPrepareSequences
final Unit setBitmapPrepareSequences(Map<Producer<CloseableReference<CloseableImage>>, Producer<CloseableReference<CloseableImage>>> bitmapPrepareSequences)
-
getNetworkFetchEncodedImageProducerSequence
final Producer<CloseableReference<PooledByteBuffer>> getNetworkFetchEncodedImageProducerSequence()
Returns a sequence that can be used for a request for an encoded image from network.
-
getLocalFileFetchEncodedImageProducerSequence
final Producer<CloseableReference<PooledByteBuffer>> getLocalFileFetchEncodedImageProducerSequence()
Returns a sequence that can be used for a request for an encoded image from a local file.
-
getLocalContentUriFetchEncodedImageProducerSequence
final Producer<CloseableReference<PooledByteBuffer>> getLocalContentUriFetchEncodedImageProducerSequence()
Returns a sequence that can be used for a request for an encoded image from a local content uri.
-
getNetworkFetchSequence
final Producer<CloseableReference<CloseableImage>> getNetworkFetchSequence()
swallow result if prefetch -> bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> decode -> multiplex -> encoded cache -> disk cache -> (webp transcode) -> network fetch.
-
getBackgroundNetworkFetchToEncodedMemorySequence
final Producer<EncodedImage> getBackgroundNetworkFetchToEncodedMemorySequence()
background-thread hand-off -> multiplex -> encoded cache -> disk cache -> (webp transcode) -> network fetch.
-
getNetworkFetchToEncodedMemoryPrefetchSequence
final Producer<Void> getNetworkFetchToEncodedMemoryPrefetchSequence()
swallow-result -> background-thread hand-off -> multiplex -> encoded cache -> disk cache -> (webp transcode) -> network fetch.
-
getCommonNetworkFetchToEncodedMemorySequence
final Producer<EncodedImage> getCommonNetworkFetchToEncodedMemorySequence()
multiplex -> encoded cache -> disk cache -> (webp transcode) -> network fetch. Alternatively, multiplex -> combined network and cache
-
getLocalFileFetchToEncodedMemoryPrefetchSequence
final Producer<Void> getLocalFileFetchToEncodedMemoryPrefetchSequence()
swallow-result -> background-thread hand-off -> multiplex -> encoded cache -> disk cache -> (webp transcode) -> local file fetch.
-
getBackgroundLocalFileFetchToEncodeMemorySequence
final Producer<EncodedImage> getBackgroundLocalFileFetchToEncodeMemorySequence()
background-thread hand-off -> multiplex -> encoded cache -> disk cache -> (webp transcode) -> local file fetch
-
getBackgroundLocalContentUriFetchToEncodeMemorySequence
final Producer<EncodedImage> getBackgroundLocalContentUriFetchToEncodeMemorySequence()
background-thread hand-off -> multiplex -> encoded cache -> disk cache -> (webp transcode) -> local content resolver fetch
-
getLocalImageFileFetchSequence
final Producer<CloseableReference<CloseableImage>> getLocalImageFileFetchSequence()
bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> decode -> branch on separate images -> exif resize and rotate -> exif thumbnail creation -> local image resize and rotate -> add meta data producer -> multiplex -> encoded cache -> (webp transcode) -> local file fetch.
-
getLocalVideoFileFetchSequence
final Producer<CloseableReference<CloseableImage>> getLocalVideoFileFetchSequence()
Bitmap cache get -> thread hand off -> multiplex -> bitmap cache -> local video thumbnail
-
getLocalContentUriFetchSequence
final Producer<CloseableReference<CloseableImage>> getLocalContentUriFetchSequence()
bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> decode -> branch on separate images -> thumbnail resize and rotate -> thumbnail branch -> local content thumbnail creation -> exif thumbnail creation -> local image resize and rotate -> add meta data producer -> multiplex -> encoded cache -> (webp transcode) -> local content uri fetch.
-
getLocalContentUriThumbnailFetchSequence
final Producer<CloseableReference<CloseableImage>> getLocalContentUriThumbnailFetchSequence()
bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> local thumbnail bitmap
-
getQualifiedResourceFetchSequence
final Producer<CloseableReference<CloseableImage>> getQualifiedResourceFetchSequence()
bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> decode -> branch on separate images -> exif resize and rotate -> exif thumbnail creation -> local image resize and rotate -> add meta data producer -> multiplex -> encoded cache -> (webp transcode) -> qualified resource fetch.
-
getLocalResourceFetchSequence
final Producer<CloseableReference<CloseableImage>> getLocalResourceFetchSequence()
bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> decode -> branch on separate images -> exif resize and rotate -> exif thumbnail creation -> local image resize and rotate -> add meta data producer -> multiplex -> encoded cache -> (webp transcode) -> local resource fetch.
-
getLocalAssetFetchSequence
final Producer<CloseableReference<CloseableImage>> getLocalAssetFetchSequence()
bitmap cache get -> background thread hand-off -> multiplex -> bitmap cache -> decode -> branch on separate images -> exif resize and rotate -> exif thumbnail creation -> local image resize and rotate -> add meta data producer -> multiplex -> encoded cache -> (webp transcode) -> local asset fetch.
-
getDataFetchSequence
final Producer<CloseableReference<CloseableImage>> getDataFetchSequence()
bitmap cache get -> background thread hand-off -> bitmap cache -> decode -> resize and rotate -> (webp transcode) -> data fetch.
-
getEncodedImageProducerSequence
final Producer<CloseableReference<PooledByteBuffer>> getEncodedImageProducerSequence(ImageRequest imageRequest)
Returns a sequence that can be used for a request for an encoded image from either network or local files.
- Parameters:
imageRequest- the request that will be submitted
-
getEncodedImagePrefetchProducerSequence
final Producer<Void> getEncodedImagePrefetchProducerSequence(ImageRequest imageRequest)
Returns a sequence that can be used for a prefetch request for an encoded image.
Guaranteed to return the same sequence as
getEncodedImageProducerSequence(request), except that it is pre-pended with a SwallowResultProducer.- Parameters:
imageRequest- the request that will be submitted
-
getDecodedImageProducerSequence
final Producer<CloseableReference<CloseableImage>> getDecodedImageProducerSequence(ImageRequest imageRequest)
Returns a sequence that can be used for a request for a decoded image.
- Parameters:
imageRequest- the request that will be submitted
-
getDecodedImagePrefetchProducerSequence
final Producer<Void> getDecodedImagePrefetchProducerSequence(ImageRequest imageRequest)
Returns a sequence that can be used for a prefetch request for a decoded image.
- Parameters:
imageRequest- the request that will be submitted
-
newCommonNetworkFetchToEncodedMemorySequence
@Synchronized() final Producer<EncodedImage> newCommonNetworkFetchToEncodedMemorySequence(NetworkFetcher<?> networkFetcher)
-
newBitmapCacheGetToDecodeSequence
final Producer<CloseableReference<CloseableImage>> newBitmapCacheGetToDecodeSequence(Producer<EncodedImage> inputProducer)
Same as
newBitmapCacheGetToBitmapCacheSequencebut with an extra DecodeProducer.- Parameters:
inputProducer- producer providing the input to the decode
-
-
-
-