1eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Juddpackage com.bumptech.glide.load.model.stream;
2eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd
3eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Juddimport android.content.Context;
4eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Juddimport android.net.Uri;
5eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Juddimport com.bumptech.glide.load.data.DataFetcher;
6eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Juddimport com.bumptech.glide.load.data.MediaStoreThumbFetcher;
7eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Juddimport com.bumptech.glide.load.model.ModelLoader;
8eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd
9eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Juddimport java.io.InputStream;
10eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd
11eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Juddpublic class MediaStoreStreamLoader implements ModelLoader<Uri, InputStream> {
12eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd    private final Context context;
13eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd    private final ModelLoader<Uri, InputStream> uriLoader;
14eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd    private String mimeType;
15eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd    private final long dateModified;
16eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd    private final int orientation;
17eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd
18eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd    public MediaStoreStreamLoader(Context context, ModelLoader<Uri, InputStream> uriLoader, String mimeType,
19eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd            long dateModified, int orientation) {
20eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd        this.context = context;
21eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd        this.uriLoader = uriLoader;
22eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd        this.mimeType = mimeType;
23eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd        this.dateModified = dateModified;
24eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd        this.orientation = orientation;
25eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd    }
26eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd
27eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd    @Override
28eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd    public DataFetcher<InputStream> getResourceFetcher(Uri model, int width, int height) {
29eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd        return new MediaStoreThumbFetcher(context, model, uriLoader.getResourceFetcher(model, width, height), width,
3078bad2aa32f824f9e098b5058dfa3506a7ed3f62Sam Judd                height, mimeType, dateModified, orientation);
31eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd    }
32eba30dc89f6138cf85e1adf0fd1d23a87849c9e6Sam Judd}
33