1bcf4a0dae04a4ad14287eeb34069a97c96fe9bb1Sam Juddpackage com.bumptech.glide.load.resource.bitmap;
2c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd
3c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Juddimport android.graphics.Bitmap;
49fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.DataLoadProvider;
5cf1e05bf226ce4e7a510a5f7cac0661b9b2e90e9Sam Juddimport com.bumptech.glide.load.Encoder;
69fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.ResourceDecoder;
79fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.ResourceEncoder;
89fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
9cf1e05bf226ce4e7a510a5f7cac0661b9b2e90e9Sam Juddimport com.bumptech.glide.load.model.StreamEncoder;
10c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd
11c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Juddimport java.io.InputStream;
12c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd
13c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Juddpublic class StreamBitmapDataLoadProvider implements DataLoadProvider<InputStream, Bitmap> {
14c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    private final StreamBitmapDecoder decoder;
15c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    private final BitmapEncoder encoder;
16cf1e05bf226ce4e7a510a5f7cac0661b9b2e90e9Sam Judd    private final StreamEncoder sourceEncoder;
17c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd
18c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    public StreamBitmapDataLoadProvider(BitmapPool bitmapPool) {
19cf1e05bf226ce4e7a510a5f7cac0661b9b2e90e9Sam Judd        sourceEncoder = new StreamEncoder();
20c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd        decoder = new StreamBitmapDecoder(bitmapPool);
21c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd        encoder = new BitmapEncoder();
22c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    }
23c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd
24c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    @Override
25c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    public ResourceDecoder<InputStream, Bitmap> getCacheDecoder() {
26c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd        return decoder;
27c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    }
28c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd
29c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    @Override
30c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    public ResourceDecoder<InputStream, Bitmap> getSourceDecoder() {
31c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd        return decoder;
32c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    }
33c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd
34c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    @Override
35cf1e05bf226ce4e7a510a5f7cac0661b9b2e90e9Sam Judd    public Encoder<InputStream> getSourceEncoder() {
36cf1e05bf226ce4e7a510a5f7cac0661b9b2e90e9Sam Judd        return sourceEncoder;
37cf1e05bf226ce4e7a510a5f7cac0661b9b2e90e9Sam Judd    }
38cf1e05bf226ce4e7a510a5f7cac0661b9b2e90e9Sam Judd
39cf1e05bf226ce4e7a510a5f7cac0661b9b2e90e9Sam Judd    @Override
40c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    public ResourceEncoder<Bitmap> getEncoder() {
41c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd        return encoder;
42c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd    }
43c8c79d03924a757c29bbe7df5bc07b3cf8e02a83Sam Judd}
44