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