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);
};
}