Program: 31917
Project: 31917
Buggy source:
@SuppressLint("String_Node_Str") @Override public View getView(int position,View convertView,ViewGroup parent){
  final ViewHolder holder;
  if (convertView == null) {
    int parent_width=parent.getWidth();
    int item_padding_pix=(int)(mParams.getDensity() * mParams.getItemPaddingDip());
    convertView=mInfalter.inflate(R.layout.gallery_item,null);
    holder=new ViewHolder();
    holder.imgQueue=(ImageView)convertView.findViewById(R.id.imgQueue);
    holder.imgQueueMultiSelected=(ImageView)convertView.findViewById(R.id.imgQueueMultiSelected);
    LayoutParams params=holder.imgQueue.getLayoutParams();
    params.width=parent_width / mParams.getNumClumns() - 2 * item_padding_pix;
    params.height=params.width;
    holder.imgQueue.setLayoutParams(params);
    if (mParams.getCheckBoxDrawable() != null) {
      Drawable cloneDrawable=mParams.getCheckBoxDrawable().getConstantState().newDrawable();
      holder.imgQueueMultiSelected.setImageDrawable(cloneDrawable);
    }
    if (mParams.getShownStyle() == ShownStyle.Pick_Multiple) {
      holder.imgQueueMultiSelected.setOnClickListener(mCheckboxListener);
      holder.imgQueueMultiSelected.setTag(position);
      holder.imgQueueMultiSelected.setVisibility(View.VISIBLE);
    }
 else {
      holder.imgQueueMultiSelected.setVisibility(View.GONE);
    }
    convertView.setTag(holder);
  }
 else {
    holder=(ViewHolder)convertView.getTag();
  }
  holder.imgQueue.setTag(position);
  mImageLoader.cancelDisplayTask(holder.imgQueue);
  try {
    if (data.get(position).isCameraPhoto) {
      holder.imgQueueMultiSelected.setVisibility(View.GONE);
      if (null != mParams.getTakePhotoDrawable()) {
        holder.imgQueue.setImageDrawable(mParams.getTakePhotoDrawable());
      }
 else {
        holder.imgQueue.setImageResource(R.drawable.take_photo);
      }
    }
 else {
      mImageLoader.displayImage("String_Node_Str" + data.get(position).mPath,holder.imgQueue,new SimpleImageLoadingListener(){
        @Override public void onLoadingStarted(        String imageUri,        View view){
          if (null != mParams.getLoadingImageDrawable()) {
            holder.imgQueue.setImageDrawable(mParams.getLoadingImageDrawable());
          }
 else {
            holder.imgQueue.setImageResource(R.drawable.no_media);
          }
          super.onLoadingStarted(imageUri,view);
        }
      }
);
      if (mParams.getShownStyle() == ShownStyle.Pick_Multiple) {
        holder.imgQueueMultiSelected.setSelected(data.get(position).isSeleted);
      }
    }
  }
 catch (  Exception e) {
    Log.e(TAG,e.getMessage());
    e.printStackTrace();
  }
  return convertView;
}

Fixed version (ground truth):
@SuppressLint("String_Node_Str") @Override public View getView(int position,View convertView,ViewGroup parent){
  final ViewHolder holder;
  if (convertView == null) {
    convertView=mInfalter.inflate(R.layout.gallery_item,null);
    holder=new ViewHolder();
    holder.imgQueue=(ImageView)convertView.findViewById(R.id.imgQueue);
    holder.imgCheckBox=(ImageView)convertView.findViewById(R.id.imgQueueMultiSelected);
    LayoutParams params=holder.imgQueue.getLayoutParams();
    int parent_width=parent.getWidth();
    int item_padding_pix=(int)(mParams.getDensity() * mParams.getItemPaddingDip());
    params.width=parent_width / mParams.getNumClumns() - 2 * item_padding_pix;
    params.height=params.width;
    holder.imgQueue.setLayoutParams(params);
    convertView.setTag(holder);
  }
 else {
    holder=(ViewHolder)convertView.getTag();
  }
  if (mParams.getCheckBoxDrawable() != null) {
    Drawable cloneDrawable=mParams.getCheckBoxDrawable().getConstantState().newDrawable();
    holder.imgCheckBox.setImageDrawable(cloneDrawable);
  }
  if (mParams.getShownStyle() == ShownStyle.Pick_Multiple) {
    holder.imgCheckBox.setOnClickListener(mCheckboxListener);
    holder.imgCheckBox.setTag(position);
    holder.imgCheckBox.setVisibility(View.VISIBLE);
  }
 else {
    holder.imgCheckBox.setVisibility(View.GONE);
  }
  holder.imgQueue.setTag(position);
  try {
    mImageLoader.cancelDisplayTask(holder.imgQueue);
    if (data.get(position).isCameraPhoto) {
      holder.imgCheckBox.setVisibility(View.GONE);
      if (null != mParams.getTakePhotoDrawable()) {
        holder.imgQueue.setImageDrawable(mParams.getTakePhotoDrawable());
      }
 else {
        holder.imgQueue.setImageResource(R.drawable.take_photo);
      }
    }
 else {
      mImageLoader.displayImage("String_Node_Str" + data.get(position).mPath,holder.imgQueue,new SimpleImageLoadingListener(){
        @Override public void onLoadingStarted(        String imageUri,        View view){
          if (null != mParams.getLoadingImageDrawable()) {
            holder.imgQueue.setImageDrawable(mParams.getLoadingImageDrawable());
          }
 else {
            holder.imgQueue.setImageResource(R.drawable.no_media);
          }
          super.onLoadingStarted(imageUri,view);
        }
      }
);
      if (mParams.getShownStyle() == ShownStyle.Pick_Multiple) {
        holder.imgCheckBox.setSelected(data.get(position).isSeleted);
      }
    }
  }
 catch (  Exception e) {
    Log.e(TAG,e.getMessage());
    e.printStackTrace();
  }
  return convertView;
}