FileDescriptorFileLoader.java revision 4626911b917568f6c1bd9d93f91ae1c70cb43554
1fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddpackage com.bumptech.glide.loader.bitmap.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; 7fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport com.bumptech.glide.loader.bitmap.model.FileLoader; 8fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport com.bumptech.glide.loader.bitmap.model.GenericLoaderFactory; 9fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport com.bumptech.glide.loader.bitmap.model.ModelLoader; 10fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport com.bumptech.glide.loader.bitmap.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 Class<? extends ModelLoader<File, ParcelFileDescriptor>> loaderClass() { 28fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd return FileDescriptorFileLoader.class; 29fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 30fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 31fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd @Override 32fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd public void teardown() { 33fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 34fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 35b2bcf70a40da4ebb1f914ab5ccedf3de593b6951Sam Judd 364626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd public FileDescriptorFileLoader(Context context) { 374626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd this(Glide.buildFileDescriptorModelLoader(Uri.class, context)); 384626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd } 394626911b917568f6c1bd9d93f91ae1c70cb43554Sam Judd 40fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd public FileDescriptorFileLoader(ModelLoader<Uri, ParcelFileDescriptor> uriLoader) { 41fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd super(uriLoader); 42fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 43fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd} 44