1package com.bumptech.glide.load.model.file_descriptor; 2 3import android.content.Context; 4import android.net.Uri; 5import android.os.ParcelFileDescriptor; 6import com.bumptech.glide.Glide; 7import com.bumptech.glide.load.model.FileLoader; 8import com.bumptech.glide.load.model.GenericLoaderFactory; 9import com.bumptech.glide.load.model.ModelLoader; 10import com.bumptech.glide.load.model.ModelLoaderFactory; 11 12import java.io.File; 13 14/** 15 * A {@link ModelLoader} For translating {@link File} models into {@link ParcelFileDescriptor} resources. 16 */ 17public class FileDescriptorFileLoader extends FileLoader<ParcelFileDescriptor> implements FileDescriptorModelLoader<File> { 18 19 public static class Factory implements ModelLoaderFactory<File, ParcelFileDescriptor> { 20 @Override 21 public ModelLoader<File, ParcelFileDescriptor> build(Context context, GenericLoaderFactory factories) { 22 return new FileDescriptorFileLoader(factories.buildModelLoader(Uri.class, ParcelFileDescriptor.class, 23 context)); 24 } 25 26 @Override 27 public void teardown() { 28 } 29 } 30 31 public FileDescriptorFileLoader(Context context) { 32 this(Glide.buildFileDescriptorModelLoader(Uri.class, context)); 33 } 34 35 public FileDescriptorFileLoader(ModelLoader<Uri, ParcelFileDescriptor> uriLoader) { 36 super(uriLoader); 37 } 38} 39