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