Home | History | Annotate | Download | only in file_descriptor
      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