FileDescriptorFileLoader.java revision b2bcf70a40da4ebb1f914ab5ccedf3de593b6951
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; 6fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport com.bumptech.glide.loader.bitmap.model.FileLoader; 7fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport com.bumptech.glide.loader.bitmap.model.GenericLoaderFactory; 8fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport com.bumptech.glide.loader.bitmap.model.ModelLoader; 9fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport com.bumptech.glide.loader.bitmap.model.ModelLoaderFactory; 10fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 11fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport java.io.File; 12fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 13fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd/** 14fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd * A {@link ModelLoader} For translating {@link File} models into {@link ParcelFileDescriptor} resources. 15fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd */ 16fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddpublic class FileDescriptorFileLoader extends FileLoader<ParcelFileDescriptor> implements FileDescriptorModelLoader<File> { 17fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 18fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd public static class Factory implements ModelLoaderFactory<File, ParcelFileDescriptor> { 19fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd @Override 20fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd public ModelLoader<File, ParcelFileDescriptor> build(Context context, GenericLoaderFactory factories) { 21fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd return new FileDescriptorFileLoader(factories.buildModelLoader(Uri.class, ParcelFileDescriptor.class, 22fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd context)); 23fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 24fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 25fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd @Override 26fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd public Class<? extends ModelLoader<File, ParcelFileDescriptor>> loaderClass() { 27fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd return FileDescriptorFileLoader.class; 28fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 29fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 30fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd @Override 31fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd public void teardown() { 32fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 33fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 34b2bcf70a40da4ebb1f914ab5ccedf3de593b6951Sam Judd 35fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd public FileDescriptorFileLoader(ModelLoader<Uri, ParcelFileDescriptor> uriLoader) { 36fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd super(uriLoader); 37fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 38fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd} 39