aboutsummaryrefslogtreecommitdiff
path: root/library/src/main/java/com/bumptech
diff options
context:
space:
mode:
authorSam Judd <judds@google.com>2014-10-05 13:22:46 -0700
committerSam Judd <judds@google.com>2014-10-05 16:04:34 -0700
commita1912e2524d787760e38a92933851032f684b9cb (patch)
tree0fc4b4287790ce05dad6e866f25810982e6f00db /library/src/main/java/com/bumptech
parentdcfc33ff309aceaccbf5d9107a992512f8236833 (diff)
downloadglide-a1912e2524d787760e38a92933851032f684b9cb.tar.gz
Use full resource name to construct drawable Uris.
Improves #172.
Diffstat (limited to 'library/src/main/java/com/bumptech')
-rw-r--r--library/src/main/java/com/bumptech/glide/load/model/ResourceLoader.java16
1 files changed, 13 insertions, 3 deletions
diff --git a/library/src/main/java/com/bumptech/glide/load/model/ResourceLoader.java b/library/src/main/java/com/bumptech/glide/load/model/ResourceLoader.java
index fe2fcdb4..06bb1e55 100644
--- a/library/src/main/java/com/bumptech/glide/load/model/ResourceLoader.java
+++ b/library/src/main/java/com/bumptech/glide/load/model/ResourceLoader.java
@@ -1,6 +1,8 @@
package com.bumptech.glide.load.model;
+import android.content.ContentResolver;
import android.content.Context;
+import android.content.res.Resources;
import android.net.Uri;
import com.bumptech.glide.load.data.DataFetcher;
@@ -13,16 +15,24 @@ import com.bumptech.glide.load.data.DataFetcher;
public class ResourceLoader<T> implements ModelLoader<Integer, T> {
private final ModelLoader<Uri, T> uriLoader;
- private final Context context;
+ private final Resources resources;
public ResourceLoader(Context context, ModelLoader<Uri, T> uriLoader) {
- this.context = context;
+ this(context.getResources(), uriLoader);
+ }
+
+ public ResourceLoader(Resources resources, ModelLoader<Uri, T> uriLoader) {
+ this.resources = resources;
this.uriLoader = uriLoader;
}
@Override
public DataFetcher<T> getResourceFetcher(Integer model, int width, int height) {
- Uri uri = Uri.parse("android.resource://" + context.getPackageName() + "/" + model.toString());
+ Uri uri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://"
+ + resources.getResourcePackageName(model) + '/'
+ + resources.getResourceTypeName(model) + '/'
+ + resources.getResourceEntryName(model));
+
return uriLoader.getResourceFetcher(uri, width, height);
}
}