GifRequestBuilder.java revision cbba04826bfaf4f8055f922bc41937572983c17f
11254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerpackage com.bumptech.glide; 21254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer 31254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerimport android.content.Context; 41254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerimport android.graphics.Bitmap; 51254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerimport android.graphics.drawable.Drawable; 61254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerimport android.view.animation.Animation; 7fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAIimport com.bumptech.glide.load.ResourceDecoder; 8fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAIimport com.bumptech.glide.load.ResourceEncoder; 91254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerimport com.bumptech.glide.load.Transformation; 101254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerimport com.bumptech.glide.load.resource.bitmap.CenterCrop; 111254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerimport com.bumptech.glide.load.resource.bitmap.FitCenter; 121254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerimport com.bumptech.glide.load.resource.gif.GifData; 131254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerimport com.bumptech.glide.load.resource.gif.GifDataTransformation; 141254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerimport com.bumptech.glide.load.resource.transcode.ResourceTranscoder; 15181dead3f13befe02769ef479bcbb51801b7fc4eJan Engelhardtimport com.bumptech.glide.provider.LoadProvider; 161254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerimport com.bumptech.glide.request.RequestListener; 171254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer 181254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerimport java.io.InputStream; 1930596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer 201254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymerpublic class GifRequestBuilder<ModelType, TranscodeType> 2130596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer extends GenericRequestBuilder<ModelType, InputStream, GifData, TranscodeType> { 2230596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer private Glide glide; 2330596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer 241254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer GifRequestBuilder(Context context, ModelType model, 251254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer LoadProvider<ModelType, InputStream, GifData, TranscodeType> loadProvider, 261254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer Class<TranscodeType> transcodeClass, Glide glide) { 27181dead3f13befe02769ef479bcbb51801b7fc4eJan Engelhardt super(context, model, loadProvider, transcodeClass, glide); 28500f483fff529dcd88ec96b9d5054be6cd6363a0Patrick McHardy this.glide = glide; 29500f483fff529dcd88ec96b9d5054be6cd6363a0Patrick McHardy } 30500f483fff529dcd88ec96b9d5054be6cd6363a0Patrick McHardy 31500f483fff529dcd88ec96b9d5054be6cd6363a0Patrick McHardy @Override 32500f483fff529dcd88ec96b9d5054be6cd6363a0Patrick McHardy public GifRequestBuilder<ModelType, TranscodeType> thumbnail( 339ee386a1b6d7704b259460152c959ab0e79e02aaMax Kellermann GenericRequestBuilder<ModelType, InputStream, GifData, TranscodeType> thumbnailRequest) { 341254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer super.thumbnail(thumbnailRequest); 351254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer return this; 361254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer } 37181dead3f13befe02769ef479bcbb51801b7fc4eJan Engelhardt 38181dead3f13befe02769ef479bcbb51801b7fc4eJan Engelhardt public GifRequestBuilder<ModelType, TranscodeType> thumbnail( 391254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer GifRequestBuilder<ModelType, TranscodeType> thumbnailRequest) { 40fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI super.thumbnail(thumbnailRequest); 41fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI return this; 421254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer } 431254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer 441254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer @Override 45fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI public GifRequestBuilder<ModelType, TranscodeType> thumbnail(float sizeMultiplier) { 4630596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer super.thumbnail(sizeMultiplier); 471254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer return this; 48efa8fc2123a2a9fc229ab471edd2b2688ce1da3aHarald Welte } 49efa8fc2123a2a9fc229ab471edd2b2688ce1da3aHarald Welte 501254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer @Override 51fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI public GifRequestBuilder<ModelType, TranscodeType> sizeMultiplier(float sizeMultiplier) { 52fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI super.sizeMultiplier(sizeMultiplier); 53fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI return this; 541254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer } 551254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer 561254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer @Override 57fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI public GifRequestBuilder<ModelType, TranscodeType> decoder( 5830596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer ResourceDecoder<InputStream, GifData> decoder) { 591254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer super.decoder(decoder); 601254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer return this; 61efa8fc2123a2a9fc229ab471edd2b2688ce1da3aHarald Welte } 621254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer 63fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI @Override 64fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI public GifRequestBuilder<ModelType, TranscodeType> cacheDecoder( 65fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI ResourceDecoder<InputStream, GifData> cacheDecoder) { 6630596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer super.cacheDecoder(cacheDecoder); 6730596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer return this; 6830596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer } 69fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI 7030596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer @Override 7130596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> encoder( 72fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI ResourceEncoder<GifData> encoder) { 7330596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer super.encoder(encoder); 74fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI return this; 75fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI } 7630596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer 7730596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer @Override 7830596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> priority(Priority priority) { 79fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI super.priority(priority); 8030596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer return this; 8130596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer } 82fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI 8330596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> fitCenter() { 84fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI return transformBitmap(new FitCenter(glide.getBitmapPool())); 85fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI } 8630596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer 8730596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> centerCrop() { 8830596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer return transformBitmap(new CenterCrop(glide.getBitmapPool())); 89fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI } 9030596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer 9130596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> transformBitmap(Transformation<Bitmap> bitmapTransformation) { 9230596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer return transform(new GifDataTransformation(bitmapTransformation)); 93fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI } 94fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI 95fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI @Override 961254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> transform(Transformation<GifData> transformation) { 971254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer super.transform(transformation); 981254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer return this; 991254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer } 1001254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer 1011254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer @Override 1021254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> transcoder( 10330596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer ResourceTranscoder<GifData, TranscodeType> transcoder) { 10430596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer super.transcoder(transcoder); 10530596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer return this; 1061254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer } 1071254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer 1081254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer @Override 109181dead3f13befe02769ef479bcbb51801b7fc4eJan Engelhardt public GifRequestBuilder<ModelType, TranscodeType> animate(int animationId) { 1101254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer super.animate(animationId); 11130596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer return this; 11230596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer } 1131254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer 1141254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer @Override 1151254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> animate(Animation animation) { 116181dead3f13befe02769ef479bcbb51801b7fc4eJan Engelhardt super.animate(animation); 1171254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer return this; 118fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI } 119fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI 1201254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer @Override 1211254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> placeholder(int resourceId) { 122fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI super.placeholder(resourceId); 12330596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer return this; 124fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI } 125fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI 12630596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer @Override 127fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI public GifRequestBuilder<ModelType, TranscodeType> placeholder(Drawable drawable) { 12830596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer super.placeholder(drawable); 129fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI return this; 13030596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer } 131fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI 132fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI @Override 13330596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> error(int resourceId) { 134fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI super.error(resourceId); 135fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI return this; 13630596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer } 137fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI 1381254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer @Override 1391254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> error(Drawable drawable) { 1401254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer super.error(drawable); 141181dead3f13befe02769ef479bcbb51801b7fc4eJan Engelhardt return this; 1421254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer } 143fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI 144fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI @Override 1451254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> listener( 146fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI RequestListener<ModelType> requestListener) { 14730596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer super.listener(requestListener); 148fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI return this; 149fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI } 15030596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer 151fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI @Override 15230596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> skipMemoryCache(boolean skip) { 153fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI super.skipMemoryCache(skip); 15430596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer return this; 155fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI } 156fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI 15730596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer @Override 158fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI public GifRequestBuilder<ModelType, TranscodeType> skipDiskCache(boolean skip) { 159fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI super.skipDiskCache( skip); 16030596a5e7ae8c518a8a0bbf3aa891728e9f9ec1bBart De Schuymer return this; 161fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI } 1621254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer 1631254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer @Override 1641254871c88483cc1a0adc448a83cab6a9d4510a1Bart De Schuymer public GifRequestBuilder<ModelType, TranscodeType> skipCache(boolean skip) { 165181dead3f13befe02769ef479bcbb51801b7fc4eJan Engelhardt super.skipCache(skip); 166fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI return this; 1678caee8b9e34fed4562fcff553197c161fc9d9979Pablo Neira } 1688caee8b9e34fed4562fcff553197c161fc9d9979Pablo Neira} 169fec77fed67feb55aba4c33ae2367178c57ce83deYasuyuki KOZAKAI