StringLoader.java revision b4f36c0e55facbe749e12501a920fde0316d74d2
1package com.bumptech.glide.loader.model; 2 3import android.net.Uri; 4import com.bumptech.glide.loader.stream.StreamLoader; 5 6import java.io.File; 7 8/** 9 * A model loader for handling certain string models. Handles paths, urls, and any uri string with a scheme handled by 10 * {@link android.content.ContentResolver#openInputStream(android.net.Uri)}. 11 */ 12public class StringLoader extends BaseModelLoader<String> { 13 14 private final ModelLoader<Uri> uriLoader; 15 16 public StringLoader(ModelLoader<Uri> uriLoader) { 17 this.uriLoader = uriLoader; 18 } 19 20 @Override 21 protected StreamLoader buildStreamOpener(final String model, final int width, final int height) { 22 Uri uri = Uri.parse(model); 23 24 final String scheme = uri.getScheme(); 25 if (scheme == null) { 26 uri = Uri.fromFile(new File(model)); 27 } 28 29 return uriLoader.getStreamOpener(uri, width, height); 30 } 31 32 @Override 33 public String getId(String model) { 34 return model; 35 } 36} 37