com.bumptech.glide.load.model.StreamEncoder Java Examples

The following examples show how to use com.bumptech.glide.load.model.StreamEncoder. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: TestFragment_Inclusive.java    From glide-support with The Unlicense 6 votes vote down vote up
@Override public void onAttach(Context context) {
	super.onAttach(context);
	BitmapPool pool = Glide.get(context).getBitmapPool();
	StreamBitmapDecoder bitmapDecoder = new StreamBitmapDecoder(Downsampler.AT_LEAST, pool, DecodeFormat.DEFAULT);
	paletteLoad = Glide
			.with(this)
			.using(new StreamUriLoader(context), InputStream.class)
			.from(Uri.class)
			.as(PaletteBitmap.class)
			.diskCacheStrategy(DiskCacheStrategy.ALL)
			.encoder(new PaletteBitmapEncoder(new BitmapEncoder(), new PaletteEncoder()))
			.sourceEncoder(new StreamEncoder())
			.cacheDecoder(new FileToStreamDecoder<>(
					new PaletteBitmapDecoder(pool, bitmapDecoder, new PaletteDecoder())))
			.dontAnimate()
			.skipMemoryCache(true) // debug to always go for disk
	;
}
 
Example #2
Source File: TestFragment_Separate.java    From glide-support with The Unlicense 6 votes vote down vote up
@Override public void onAttach(Context context) {
	super.onAttach(context);
	paletteLoad = Glide
			.with(this)
			.using(new StreamUriLoader(context), InputStream.class)
			.from(Uri.class)
			.as(Palette.class)
			.diskCacheStrategy(DiskCacheStrategy.ALL)
			.encoder(new PaletteCacheEncoder(new PaletteEncoder()))
			.sourceEncoder(new StreamEncoder())
			.cacheDecoder(new FileToStreamDecoder<>(
					new PaletteCacheDecoder(new PaletteDecoder(), new StreamBitmapDecoder(
							Downsampler.AT_MOST, Glide.get(context).getBitmapPool(), DecodeFormat.DEFAULT))))
			.override(256, 256) // rough size of the Bitmap to generate Palette from 
			.dontTransform() // default, but be explicit
			.dontAnimate() // default, but be explicit
			.skipMemoryCache(true) // debug to always go for disk
	;
}
 
Example #3
Source File: ImageZoomPresenter.java    From incubator-taverna-mobile with Apache License 2.0 6 votes vote down vote up
@Override
public void attachView(ImageZoomMvpView mvpView) {

    super.attachView(mvpView);

    requestBuilder = Glide.with(getMvpView().getAppContext())
            .using(Glide.buildStreamModelLoader(Uri.class,
                    getMvpView().getAppContext()), InputStream.class)
            .from(Uri.class)
            .as(SVG.class)
            .transcode(new SvgDrawableTranscoder(), PictureDrawable.class)
            .sourceEncoder(new StreamEncoder())
            .cacheDecoder(new FileToStreamDecoder<SVG>(new SvgDecoder()))
            .decoder(new SvgDecoder())
            .placeholder(R.drawable.placeholder)
            .error(R.drawable.placeholder)
            .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
            .animate(android.R.anim.fade_in);

}
 
Example #4
Source File: TestFragment.java    From glide-support with The Unlicense 5 votes vote down vote up
@Override public void onAttach(Context context) {
	super.onAttach(context);
	SIZE_REQUEST = Glide
			.with(this)
			.using(new StreamUriLoader(context), InputStream.class)
			.from(Uri.class)
			.as(Options.class)
			.transcode(new OptionsSizeResourceTranscoder(), Size.class)
			.sourceEncoder(new StreamEncoder())
			.cacheDecoder(new BitmapSizeDecoder())
			.diskCacheStrategy(DiskCacheStrategy.SOURCE)
			.listener(new LoggingListener<Uri, Size>());
}
 
Example #5
Source File: MainModule.java    From MoeGallery with GNU General Public License v3.0 5 votes vote down vote up
@Singleton
@Provides
GenericRequestBuilder<GlideUrl, InputStream, byte[], GifDrawable> provideGifRequestBuilder(
        RequestManager requestManager, OkHttpClient okHttpClient) {

    return requestManager.using(new OkHttpUrlLoader(okHttpClient), InputStream.class)
            .from(GlideUrl.class)
            .as(byte[].class)
            .transcode(new GifDrawableBytesTranscoder(), GifDrawable.class)
            .diskCacheStrategy(DiskCacheStrategy.SOURCE)
            .decoder(new StreamByteArrayResourceDecoder())
            .sourceEncoder(new StreamEncoder())
            .cacheDecoder(new FileToStreamDecoder<>(new StreamByteArrayResourceDecoder()));
}
 
Example #6
Source File: GifDrawableLoadProvider.java    From giffun with Apache License 2.0 4 votes vote down vote up
public GifDrawableLoadProvider(Context context, BitmapPool bitmapPool) {
    decoder = new GifResourceDecoder(context, bitmapPool);
    cacheDecoder = new FileToStreamDecoder<GifDrawable>(decoder);
    encoder = new GifResourceEncoder(bitmapPool);
    sourceEncoder = new StreamEncoder();
}
 
Example #7
Source File: StreamBitmapDataLoadProvider.java    From giffun with Apache License 2.0 4 votes vote down vote up
public StreamBitmapDataLoadProvider(BitmapPool bitmapPool, DecodeFormat decodeFormat) {
    sourceEncoder = new StreamEncoder();
    decoder = new StreamBitmapDecoder(bitmapPool, decodeFormat);
    encoder = new BitmapEncoder();
    cacheDecoder = new FileToStreamDecoder<Bitmap>(decoder);
}
 
Example #8
Source File: StreamFileDataLoadProvider.java    From giffun with Apache License 2.0 4 votes vote down vote up
public StreamFileDataLoadProvider() {
    cacheDecoder = new FileDecoder();
    encoder = new StreamEncoder();
}
 
Example #9
Source File: TestFragment.java    From glide-support with The Unlicense 4 votes vote down vote up
@SuppressWarnings("unchecked")
@Override public void onAttach(Context context) {
	super.onAttach(context);
	BitmapPool pool = Glide.get(context).getBitmapPool();
	// default decoder, this is the base complexity Glide.with.load.into() hides from you
	GifBitmapWrapperStreamResourceDecoder decoder = new GifBitmapWrapperStreamResourceDecoder(
			new GifBitmapWrapperResourceDecoder(
					new ImageVideoBitmapDecoder(
							new StreamBitmapDecoder(pool),
							new FileDescriptorBitmapDecoder(context)
					),
					new GifResourceDecoder(context, pool),
					pool
			)
	);

	// all the defaults hardcoded here in order to end up with a normal Drawable instead of a GlideDrawable
	urlGlide = Glide
			.with(this)
			.using(new StreamStringLoader(getActivity()), InputStream.class)
			.from(String.class)
			.as(GifBitmapWrapper.class)
			.transcode(new GeneralizingTranscoder<GifBitmapWrapper, GlideDrawable, Drawable>(
							new GifBitmapWrapperDrawableTranscoder(new GlideBitmapDrawableTranscoder(context))),
					Drawable.class)
			.decoder(decoder)
			.sourceEncoder(new StreamEncoder())
			.cacheDecoder(new FileToStreamDecoder<>(decoder))
			.animate(new AlwaysCrossFade<>(true))
			.encoder(new GifBitmapWrapperResourceEncoder(new BitmapEncoder(), new GifResourceEncoder(pool)))
			.diskCacheStrategy(DiskCacheStrategy.ALL) // just to demonstrate it's working, pick your preference
			.transform(new GifBitmapWrapperTransformation(pool, new FitCenter(context))) // == .fitCenter()
			.listener(new LoggingListener<String, Drawable>("url")) // debug
	;
	// see https://github.com/bumptech/glide/issues/122#issuecomment-99629392
	drawableGlide = Glide
			.with(this)
			.using(new PassthroughModelLoader<Drawable, Drawable>(), Drawable.class)
			.from(Drawable.class)
			.as(Drawable.class)
			// this works even if the drawables don't behave well regarding constantState.newDrawable
			// Beware: might be problematic if constant state is supported, but altered (e.g. color filters)
			.decoder(new SimpleResourceDecoder<Drawable>()) // prefer DrawableResourceDecoder if possible!
			.animate(new AlwaysCrossFade<>(true))
			.diskCacheStrategy(DiskCacheStrategy.NONE)
			.listener(new LoggingListener<Drawable, Drawable>("drawable")) // debug
	;

	// prevents null check the first time
	// don't forge to null everything out explicitly (error/placeholder/fallback/thumbnail), if they're set above
	lastLoad = urlGlide.clone().load(null).listener(null).dontAnimate();
}