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