package me.guillaumin.android.osmtracker.service.resources; import android.content.res.Resources; import android.graphics.drawable.Drawable; /** * {@link IconResolver} implementation which gets the icon in the * drawable/ resouces. * * @author Nicolas Guillaumin * */ public class AppResourceIconResolver implements IconResolver { /** * Access to app resources. */ private Resources resources; /** * Packages for accessing resources */ private String resourcesPackage; /** * Name of the drawabe resource type. */ private static final String DRAWABLE_TYPE = "drawable"; public AppResourceIconResolver(Resources r, String defPackage) { resources = r; resourcesPackage = defPackage; } @Override public Drawable getIcon(String key) { if (key != null) { int resId = resources.getIdentifier(key, DRAWABLE_TYPE, resourcesPackage); if(resId != 0) { return resources.getDrawable(resId); } } return null; } }