19fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddpackage com.bumptech.glide.load.model;
20ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd
30ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Juddimport android.content.Context;
40ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Juddimport android.net.Uri;
5bcf4a0dae04a4ad14287eeb34069a97c96fe9bb1Sam Juddimport com.bumptech.glide.load.data.DataFetcher;
60ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd
70ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd/**
80ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd * A model loader for handling resources. Model must be a resource id in the package of the given context.
90ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd */
10fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddpublic class ResourceLoader<T> implements ModelLoader<Integer, T> {
110ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd
12fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd    private final ModelLoader<Uri, T> uriLoader;
130ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd    private final Context context;
140ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd
15fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd    public ResourceLoader(Context context, ModelLoader<Uri, T> uriLoader) {
160ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd        this.context = context;
170ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd        this.uriLoader = uriLoader;
180ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd    }
190ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd
200ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd    @Override
21bcf4a0dae04a4ad14287eeb34069a97c96fe9bb1Sam Judd    public DataFetcher<T> getResourceFetcher(Integer model, int width, int height) {
220ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd        Uri uri = Uri.parse("android.resource://" + context.getPackageName() + "/" + model.toString());
230ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd        return uriLoader.getResourceFetcher(uri, width, height);
240ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd    }
250ae32dc10d668a04f9f0484d587aefe5a7210e1cSam Judd}
26