private String getUploadDetail(Task task) {
   String detail = null;
   int total = task.getTaskLength();
   int prog = task.getTaskProgress();
   if (total > 0) {
     float p = (prog < 0) ? (0.00f) : ((float) prog / 100);
     detail =
         FLOAT_FORMAT.format((p * total) / B_LENGTH)
             + "MB / "
             + FLOAT_FORMAT.format(((float) total / B_LENGTH))
             + "MB";
   }
   return detail != null ? detail : task.getDetail();
 }
  private final void updateHolderView(HolderView holderview, final Task task, boolean hasListener) {

    Metadata meta = task.getMetadata();
    int state = task.getState();

    switch (state) {
      case Task.STATE.NEW:
      case Task.STATE.RUNNING:
        holderview.history_layout.setVisibility(View.GONE);
        holderview.history_state_layout.setVisibility(View.GONE);
        holderview.remove_layout.setVisibility(View.GONE);
        holderview.task_content_layout.setVisibility(View.VISIBLE);
        holderview.taks_state_layout.setVisibility(View.VISIBLE);
        holderview.task_title.setText(meta != null ? meta.getTitle() : "");
        holderview.task_state_bnt.setBackgroundResource(R.drawable.ugc_ic_ioffer_upload_pause_icon);
        holderview.task_progress.setProgress(task.getTaskProgress());
        holderview.task_detail.setText(getUploadDetail(task));
        if (hasListener) {
          holderview.task_state_bnt.setTag(task);
          holderview.task_state_bnt.setOnClickListener(this);
        } else {
          holderview.task_state_bnt.setTag(null);
          holderview.task_state_bnt.setOnClickListener(null);
        }
        break;
      case Task.STATE.STOP:
        holderview.history_layout.setVisibility(View.GONE);
        holderview.history_state_layout.setVisibility(View.GONE);
        holderview.remove_layout.setVisibility(View.GONE);
        holderview.task_content_layout.setVisibility(View.VISIBLE);
        holderview.taks_state_layout.setVisibility(View.VISIBLE);
        holderview.task_title.setText(meta != null ? meta.getTitle() : "");
        holderview.task_state_bnt.setBackgroundResource(
            R.drawable.ugc_ic_ioffer_upload_resume_icon);
        holderview.task_progress.setProgress(task.getTaskProgress());
        holderview.task_detail.setText(getUploadDetail(task));
        if (hasListener) {
          holderview.task_state_bnt.setTag(task);
          holderview.task_state_bnt.setOnClickListener(this);
        } else {
          holderview.task_state_bnt.setTag(null);
          holderview.task_state_bnt.setOnClickListener(null);
        }
        break;
      case Task.STATE.WAIT:
        holderview.history_layout.setVisibility(View.GONE);
        holderview.history_state_layout.setVisibility(View.GONE);
        holderview.remove_layout.setVisibility(View.GONE);
        holderview.task_content_layout.setVisibility(View.VISIBLE);
        holderview.taks_state_layout.setVisibility(View.VISIBLE);
        holderview.task_title.setText(meta != null ? meta.getTitle() : "");
        holderview.task_state_bnt.setBackgroundResource(R.drawable.ugc_ic_ioffer_upload_wait_icon);
        holderview.task_progress.setProgress(task.getTaskProgress());
        holderview.task_detail.setText(getUploadDetail(task));
        if (hasListener) {
          holderview.task_state_bnt.setTag(task);
          holderview.task_state_bnt.setOnClickListener(this);
        } else {
          holderview.task_state_bnt.setTag(null);
          holderview.task_state_bnt.setOnClickListener(null);
        }
        break;
      case Task.STATE.DONE:
        holderview.remove_layout.setVisibility(View.GONE);
        holderview.taks_state_layout.setVisibility(View.GONE);
        holderview.task_content_layout.setVisibility(View.GONE);
        holderview.history_layout.setVisibility(View.VISIBLE);
        holderview.history_state_layout.setVisibility(View.VISIBLE);
        holderview.history_title.setText(meta != null ? meta.getTitle() : "");
        holderview.history_descri.setText(task.getMetadata().getCatalogName());
        holderview.history_comment.setText("");
        holderview.history_state.setText(R.string.ugc_label_task_complete);
        holderview.task_state_bnt.setBackgroundResource(
            R.drawable.ugc_ic_ioffer_upload_resume_icon);
        updataTaskIcon(holderview, task);
        updataTaskDoneCategory(holderview, task);
        break;
    }
  }