content: package com.image.zoom;
  
  import javax.annotation.Nullable;
  
  import java.util.HashMap;
  import java.util.Map;
  
  import android.content.Context;
  import android.graphics.drawable.Drawable;
  import android.net.Uri;
  
  import com.facebook.common.util.UriUtil;
  /**
   * Created by azou on 27/02/16.
   */
  public class ResourceDrawableIdHelper {
  
      private Map<String, Integer> mResourceDrawableIdMap;
  
      public ResourceDrawableIdHelper() {
          mResourceDrawableIdMap = new HashMap<String, Integer>();
      }
  
      public int getResourceDrawableId(Context context, @Nullable String name) {
          if (name == null || name.isEmpty()) {
              return 0;
          }
          name = name.toLowerCase().replace("-", "_");
          if (mResourceDrawableIdMap.containsKey(name)) {
              return mResourceDrawableIdMap.get(name);
          }
          int id = context.getResources().getIdentifier(
                  name,
                  "drawable",
                  context.getPackageName());
          mResourceDrawableIdMap.put(name, id);
          return id;
      }
  
      public @Nullable Drawable getResourceDrawable(Context context, @Nullable String name) {
          int resId = getResourceDrawableId(context, name);
          return resId > 0 ? context.getResources().getDrawable(resId) : null;
      }
  
      public Uri getResourceDrawableUri(Context context, @Nullable String name) {
          int resId = getResourceDrawableId(context, name);
          return resId > 0 ? new Uri.Builder()
                  .scheme(UriUtil.LOCAL_RESOURCE_SCHEME)
                  .path(String.valueOf(resId))
                  .build() : Uri.EMPTY;
      }
  }
  