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