// Path: library/src/com/baoyz/viewbinder/handler/ImageHandler.java
// public interface ImageHandler {
// 
// 	void handle(ImageView iv, Object value);
// }
// 
// Path: library/src/com/baoyz/viewbinder/handler/PicassoImageHandler.java
// public class PicassoImageHandler implements ImageHandler {
// 
// 	@Override
// 	public void handle(ImageView iv, Object value) {
// 		if (value == null) {
// 			return;
// 		}
// 		Picasso.with(iv.getContext()).cancelRequest(iv);
// 		if (value instanceof Integer) {
// 			Picasso.with(iv.getContext()).load((Integer) value).into(iv);
// 		} else {
// 			Uri uri = convertUri(value);
// 			Picasso.with(iv.getContext()).load(uri).into(iv);
// 		}
// 	}
// 
// 	private Uri convertUri(Object obj) {
// 		if (obj != null) {
// 			if (obj instanceof File) {
// 				return Uri.fromFile((File) obj);
// 			}
// 			if (obj instanceof Uri) {
// 				return (Uri) obj;
// 			}
// 			return Uri.parse(obj.toString());
// 		}
// 		return null;
// 	}
// }


import android.app.Activity;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.view.View;
import com.baoyz.viewbinder.handler.ImageHandler;
import com.baoyz.viewbinder.handler.PicassoImageHandler;

	public abstract void bindView(View view, T bean);

	public static <T> ViewBinder<T> getDefault(Context context) {
		if (instance == null) {
			synchronized (ViewBinder.class) {
				if (instance == null) {
					instance = new DefaultViewBinder<T>(context);
				}
			}
		}
		return instance;
	}

	public static void bind(View view, Object bean) {
		ViewBinder.getDefault(view.getContext()).bindView(view, bean);
	}

	public static void bind(Activity act, Object bean) {
		bind(act.getWindow().getDecorView(), bean);
	}

	public static void bind(Fragment f, Object bean) {
		bind(f.getView(), bean);
	}

	public static void setImageHandler(ImageHandler handler) {
		imageHandler = handler;
	}

// Path: library/src/com/baoyz/viewbinder/handler/ImageHandler.java
// public interface ImageHandler {
// 
// 	void handle(ImageView iv, Object value);
// }
// 
// Path: library/src/com/baoyz/viewbinder/handler/PicassoImageHandler.java
// public class PicassoImageHandler implements ImageHandler {
// 
// 	@Override
// 	public void handle(ImageView iv, Object value) {
// 		if (value == null) {
// 			return;
// 		}
// 		Picasso.with(iv.getContext()).cancelRequest(iv);
// 		if (value instanceof Integer) {
// 			Picasso.with(iv.getContext()).load((Integer) value).into(iv);
// 		} else {
// 			Uri uri = convertUri(value);
// 			Picasso.with(iv.getContext()).load(uri).into(iv);
// 		}
// 	}
// 
// 	private Uri convertUri(Object obj) {
// 		if (obj != null) {
// 			if (obj instanceof File) {
// 				return Uri.fromFile((File) obj);
// 			}
// 			if (obj instanceof Uri) {
// 				return (Uri) obj;
// 			}
// 			return Uri.parse(obj.toString());
// 		}
// 		return null;
// 	}
// }


// Path: library/src/com/baoyz/viewbinder/ViewBinder.java
import android.app.Activity;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.view.View;
import com.baoyz.viewbinder.handler.ImageHandler;
import com.baoyz.viewbinder.handler.PicassoImageHandler;


	public abstract void bindView(View view, T bean);

	public static <T> ViewBinder<T> getDefault(Context context) {
		if (instance == null) {
			synchronized (ViewBinder.class) {
				if (instance == null) {
					instance = new DefaultViewBinder<T>(context);
				}
			}
		}
		return instance;
	}

	public static void bind(View view, Object bean) {
		ViewBinder.getDefault(view.getContext()).bindView(view, bean);
	}

	public static void bind(Activity act, Object bean) {
		bind(act.getWindow().getDecorView(), bean);
	}

	public static void bind(Fragment f, Object bean) {
		bind(f.getView(), bean);
	}

	public static void setImageHandler(ImageHandler handler) {
		imageHandler = handler;
	}

	public static ImageHandler getImageHandler() {