StreamResourceLoader.java revision ac28599e2b40e0dd6b97f6a91849585531264622
1package com.bumptech.glide.load.model.stream;
2
3import android.content.Context;
4import android.net.Uri;
5import com.bumptech.glide.Glide;
6import com.bumptech.glide.load.model.GenericLoaderFactory;
7import com.bumptech.glide.load.model.ModelLoader;
8import com.bumptech.glide.load.model.ModelLoaderFactory;
9import com.bumptech.glide.load.model.ResourceLoader;
10
11import java.io.InputStream;
12
13/**
14 * A {@link ModelLoader} For translating android resource id models for local uris into {@link InputStream} resources.
15 */
16public class StreamResourceLoader extends ResourceLoader<InputStream> implements StreamModelLoader<Integer> {
17
18    public static class Factory implements ModelLoaderFactory<Integer, InputStream> {
19
20        @Override
21        public ModelLoader<Integer, InputStream> build(Context context, GenericLoaderFactory factories) {
22            return new StreamResourceLoader(context, factories.buildModelLoader(Uri.class, InputStream.class, context));
23        }
24
25        @Override
26        public void teardown() { }
27    }
28
29    public StreamResourceLoader(Context context) {
30        this(context, Glide.buildStreamModelLoader(Uri.class, context));
31    }
32
33    public StreamResourceLoader(Context context, ModelLoader<Uri, InputStream> uriLoader) {
34        super(context, uriLoader);
35    }
36}
37