19fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddpackage com.bumptech.glide.load.model.file_descriptor; 2fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 3fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport android.content.Context; 4fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport android.net.Uri; 5fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport android.os.ParcelFileDescriptor; 64626911b917568f6c1bd9d93f91ae1c70cb43554Sam Juddimport com.bumptech.glide.Glide; 79fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.model.FileLoader; 89fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.model.GenericLoaderFactory; 99fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.model.ModelLoader; 109fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.model.ModelLoaderFactory; 11fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 12fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport java.io.File; 13fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 14fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd/** 15fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd * A {@link ModelLoader} For translating {@link File} models into {@link ParcelFileDescriptor} resources. 16fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd */ 17fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddpublic class FileDescriptorFileLoader extends FileLoader<ParcelFileDescriptor> implements FileDescriptorModelLoader<File> { 18fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 19fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd public static class Factory implements ModelLoaderFactory<File, ParcelFileDescriptor> { 20fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd @Override 21fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd public ModelLoader<File, ParcelFileDescriptor> build(Context context, GenericLoaderFactory factories) { 22fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd return new FileDescriptorFileLoader(factories.buildModelLoader(Uri.class, ParcelFileDescriptor.class, 23fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd context)); 24fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 25fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 26fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd @Override 27fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd public void teardown() { 28fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 29fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 30b2bcf70a40da4ebb1f914ab5ccedf3de593b6951Sam Judd 314626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd public FileDescriptorFileLoader(Context context) { 324626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd this(Glide.buildFileDescriptorModelLoader(Uri.class, context)); 334626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd } 344626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd 35fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd public FileDescriptorFileLoader(ModelLoader<Uri, ParcelFileDescriptor> uriLoader) { 36fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd super(uriLoader); 37fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 38fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd} 39