content: package com.photoselector.ui;
  /**
   * 
   * @author Aizaz AZ
   *
   */
  import android.content.Context;
  import android.graphics.Bitmap;
  import android.util.AttributeSet;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.widget.LinearLayout;
  import android.widget.ProgressBar;
  
  import com.nostra13.universalimageloader.core.ImageLoader;
  import com.nostra13.universalimageloader.core.assist.FailReason;
  import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
  import com.photoselector.R;
  import com.photoselector.model.PhotoModel;
  import com.polites.GestureImageView;
  
  public class PhotoPreview extends LinearLayout implements OnClickListener {
  
  	private ProgressBar pbLoading;
  	private GestureImageView ivContent;
  	private OnClickListener l;
  
  	public PhotoPreview(Context context) {
  		super(context);
  		LayoutInflater.from(context).inflate(R.layout.view_photopreview, this, true);
  
  		pbLoading = (ProgressBar) findViewById(R.id.pb_loading_vpp);
  		ivContent = (GestureImageView) findViewById(R.id.iv_content_vpp);
  		ivContent.setOnClickListener(this);
  	}
  
  	public PhotoPreview(Context context, AttributeSet attrs, int defStyle) {
  		this(context);
  	}
  
  	public PhotoPreview(Context context, AttributeSet attrs) {
  		this(context);
  	}
  
  	public void loadImage(PhotoModel photoModel) {
  		loadImage("file://" + photoModel.getOriginalPath());
  	}
  
  	private void loadImage(String path) {
  		ImageLoader.getInstance().loadImage(path, new SimpleImageLoadingListener() {
  			@Override
  			public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
  				ivContent.setImageBitmap(loadedImage);
  				pbLoading.setVisibility(View.GONE);
  			}
  
  			@Override
  			public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
  				ivContent.setImageDrawable(getResources().getDrawable(R.drawable.ic_picture_loadfailed));
  				pbLoading.setVisibility(View.GONE);
  			}
  		});
  	}
  
  	@Override
  	public void setOnClickListener(OnClickListener l) {
  		this.l = l;
  	}
  
  	@Override
  	public void onClick(View v) {
  		if (v.getId() == R.id.iv_content_vpp && l != null)
  			l.onClick(ivContent);
  	};
  
  }
  