1 package com.bumptech.glide.load.resource.bitmap; 2 3 import android.graphics.Bitmap; 4 import android.os.ParcelFileDescriptor; 5 6 import com.bumptech.glide.load.Encoder; 7 import com.bumptech.glide.load.ResourceDecoder; 8 import com.bumptech.glide.load.ResourceEncoder; 9 import com.bumptech.glide.load.model.ImageVideoWrapper; 10 import com.bumptech.glide.load.model.ImageVideoWrapperEncoder; 11 import com.bumptech.glide.provider.DataLoadProvider; 12 13 import java.io.File; 14 import java.io.InputStream; 15 16 /** 17 * A {@link com.bumptech.glide.provider.DataLoadProvider} for loading either an {@link java.io.InputStream} or an 18 * {@link android.os.ParcelFileDescriptor} as an {@link android.graphics.Bitmap}. 19 */ 20 public class ImageVideoDataLoadProvider implements DataLoadProvider<ImageVideoWrapper, Bitmap> { 21 private final ImageVideoBitmapDecoder sourceDecoder; 22 private final ResourceDecoder<File, Bitmap> cacheDecoder; 23 private final ResourceEncoder<Bitmap> encoder; 24 private final ImageVideoWrapperEncoder sourceEncoder; 25 26 public ImageVideoDataLoadProvider(DataLoadProvider<InputStream, Bitmap> streamBitmapProvider, 27 DataLoadProvider<ParcelFileDescriptor, Bitmap> fileDescriptorBitmapProvider) { 28 encoder = streamBitmapProvider.getEncoder(); 29 sourceEncoder = new ImageVideoWrapperEncoder(streamBitmapProvider.getSourceEncoder(), 30 fileDescriptorBitmapProvider.getSourceEncoder()); 31 cacheDecoder = streamBitmapProvider.getCacheDecoder(); 32 sourceDecoder = new ImageVideoBitmapDecoder(streamBitmapProvider.getSourceDecoder(), 33 fileDescriptorBitmapProvider.getSourceDecoder()); 34 } 35 36 @Override 37 public ResourceDecoder<File, Bitmap> getCacheDecoder() { 38 return cacheDecoder; 39 } 40 41 @Override 42 public ResourceDecoder<ImageVideoWrapper, Bitmap> getSourceDecoder() { 43 return sourceDecoder; 44 } 45 46 @Override 47 public Encoder<ImageVideoWrapper> getSourceEncoder() { 48 return sourceEncoder; 49 } 50 51 @Override 52 public ResourceEncoder<Bitmap> getEncoder() { 53 return encoder; 54 } 55 } 56