1package com.bumptech.glide.load.model; 2 3import android.net.Uri; 4import com.bumptech.glide.load.data.DataFetcher; 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(Uri)}. 11 */ 12public class StringLoader<T> implements ModelLoader<String, T> { 13 private final ModelLoader<Uri, T> uriLoader; 14 15 public StringLoader(ModelLoader<Uri, T> uriLoader) { 16 this.uriLoader = uriLoader; 17 } 18 19 @Override 20 public DataFetcher<T> getResourceFetcher(String model, int width, int height) { 21 Uri uri = Uri.parse(model); 22 23 final String scheme = uri.getScheme(); 24 if (scheme == null) { 25 uri = Uri.fromFile(new File(model)); 26 } 27 return uriLoader.getResourceFetcher(uri, width, height); 28 } 29} 30