diff options
author | Sam Judd <judds@google.com> | 2014-10-05 13:22:46 -0700 |
---|---|---|
committer | Sam Judd <judds@google.com> | 2014-10-05 16:04:34 -0700 |
commit | a1912e2524d787760e38a92933851032f684b9cb (patch) | |
tree | 0fc4b4287790ce05dad6e866f25810982e6f00db /library/src/main/java/com/bumptech | |
parent | dcfc33ff309aceaccbf5d9107a992512f8236833 (diff) | |
download | glide-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.java | 16 |
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); } } |