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