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