GifBitmapWrapperStreamResourceDecoder.java revision 5dc4cdef8898d8f34590823961c7fe751784edeb
1package com.bumptech.glide.load.resource.gifbitmap;
2
3import com.bumptech.glide.load.ResourceDecoder;
4import com.bumptech.glide.load.engine.Resource;
5import com.bumptech.glide.load.model.ImageVideoWrapper;
6
7import java.io.IOException;
8import java.io.InputStream;
9
10/**
11 * A {@link com.bumptech.glide.load.ResourceDecoder} that can decode an
12 * {@link com.bumptech.glide.load.resource.gifbitmap.GifBitmapWrapper} from {@link java.io.InputStream} data.
13 */
14public class GifBitmapWrapperStreamResourceDecoder implements ResourceDecoder<InputStream, GifBitmapWrapper> {
15    private ResourceDecoder<ImageVideoWrapper, GifBitmapWrapper> gifBitmapDecoder;
16
17    public GifBitmapWrapperStreamResourceDecoder(
18            ResourceDecoder<ImageVideoWrapper, GifBitmapWrapper> gifBitmapDecoder) {
19        this.gifBitmapDecoder = gifBitmapDecoder;
20    }
21
22    @Override
23    public Resource<GifBitmapWrapper> decode(InputStream source, int width, int height) throws IOException {
24        return gifBitmapDecoder.decode(new ImageVideoWrapper(source, null), width, height);
25    }
26
27    @Override
28    public String getId() {
29        return gifBitmapDecoder.getId();
30    }
31}
32