19fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddpackage com.bumptech.glide.load.model.stream;
2fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd
3fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport android.content.Context;
4fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport android.net.Uri;
54626911b917568f6c1bd9d93f91ae1c70cb43554Sam Juddimport com.bumptech.glide.Glide;
69fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.model.GenericLoaderFactory;
79fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.model.ModelLoader;
89fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.model.ModelLoaderFactory;
99fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.model.StringLoader;
10fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd
11fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport java.io.InputStream;
12fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd
13fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd/**
14fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd * A {@link ModelLoader} For translating {@link String} models, such as file paths or remote urls, into
15fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd * {@link InputStream} resources.
16fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd */
17fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddpublic class StreamStringLoader extends StringLoader<InputStream> implements StreamModelLoader<String> {
184626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd
19fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd    public static class Factory implements ModelLoaderFactory<String, InputStream> {
20fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd        @Override
21fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd        public ModelLoader<String, InputStream> build(Context context, GenericLoaderFactory factories) {
22fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd            return new StreamStringLoader(factories.buildModelLoader(Uri.class, InputStream.class, context));
23fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd        }
24fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd
25fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd        @Override
26fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd        public void teardown() { }
27fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd    }
28fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd
294626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd    public StreamStringLoader(Context context) {
304626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd        this(Glide.buildStreamModelLoader(Uri.class, context));
314626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd    }
324626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd
33fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd    public StreamStringLoader(ModelLoader<Uri, InputStream> uriLoader) {
34fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd        super(uriLoader);
35fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd    }
36fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd}
37