package net.dhruvpatel.shortify; import android.app.Activity; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationUtils; /** * Created by dhruv on 19-08-2016. */ public class Binder { protected static Activity sActivity; public static <T extends View, E extends String>T bind(int resId){ Resources res = sActivity.getResources(); String resourceName = res.getResourceTypeName(resId); if(resourceName.equalsIgnoreCase("id")) { T cl = (T) sActivity.findViewById(resId); return cl; }else { return null; } } public static String bindString(int resId){ Resources res = sActivity.getResources(); String resourceName = res.getResourceTypeName(resId); if(resourceName.equalsIgnoreCase("string")) { return res.getString(resId); }else{ return null; } } public static float bindDimension(int resId){ Resources res = sActivity.getResources(); String resourceName = res.getResourceTypeName(resId); if(resourceName.equalsIgnoreCase("dimen")) { return res.getDimension(resId); }else{ return 0f; } } public static Animation bindAnimation(int resId){ Resources res = sActivity.getResources(); String resourceName = res.getResourceTypeName(resId); if(resourceName.equalsIgnoreCase("anim")) { return AnimationUtils.loadAnimation(sActivity, resId); }else{ return null; } } public static Drawable bindDrawable(int resId){ Resources res = sActivity.getResources(); String resourceName = res.getResourceTypeName(resId); if(resourceName.equalsIgnoreCase("drawable")) { return res.getDrawable(resId); }else{ return null; } } public static int bindColor(int resId){ Resources res = sActivity.getResources(); String resourceName = res.getResourceTypeName(resId); if(resourceName.equalsIgnoreCase("color")) { return res.getColor(resId); }else{ return 0; } } public static int bindInteger(int resId){ Resources res = sActivity.getResources(); String resourceName = res.getResourceTypeName(resId); if(resourceName.equalsIgnoreCase("integer")) { return res.getInteger(resId); }else{ return 0; } } public static boolean bindBoolean(int resId){ Resources res = sActivity.getResources(); String resourceName = res.getResourceTypeName(resId); if(resourceName.equalsIgnoreCase("bool")) { return res.getBoolean(resId); }else{ return false; } } }