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