@Override
  protected void onProgressUpdate(ProgressHolder... values) {
    super.onProgressUpdate(values);
    if (values == null || values.length == 0 || values[0] == null) {
      return;
    }

    ProgressHolder holder = values[0];
    if (dialog != null) {
      dialog.updateState(holder.account, holder.state);
    }
  }
  @Override
  protected void onPreExecute() {
    super.onPreExecute();

    if (dialog == null) {
      View parent = ((Activity) context).findViewById(R.id.btnOperate);
      dialog = new TweetProgressDialog(context, parent);
      dialog.setListUpdateAccount(listAccount);
      dialog.show();
    }

    dialog.setDialogTitle(R.string.title_tweet_progress);
    dialog.setPositiveClickListener(null);
    EditMicroBlogTweetCancelClickListener canelClickLister =
        new EditMicroBlogTweetCancelClickListener(this, dialog);
    dialog.setNegativeClickListener(canelClickLister);
  }
  @Override
  protected void onPostExecute(Integer result) {
    super.onPostExecute(result);

    int successCount = result;
    Button btnSend = (Button) ((Activity) context).findViewById(R.id.btnOperate);
    EditText etText = (EditText) ((Activity) context).findViewById(R.id.etText);
    if (successCount == listAccount.size()) {
      String msg = context.getString(R.string.msg_status_success);
      Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
      if (context.isUpdateSinaAndPauseOthers()) {
        context.removeAllSinaAccount(listAccount);
        context.updateSelectorText();
        dialog.dismiss();
        btnSend.setEnabled(true);
      } else {
        // 退出onPause清空临时保存数据
        if (etText != null) {
          etText.setText("");
        }
        dialog.dismiss();
        ((Activity) context).finish();
      }
      //			Activity activity = (Activity) context;
      //			dialog.dismiss();
      //			activity.finish();
    } else if (successCount < listAccount.size() && successCount >= 0) {
      btnSend.setEnabled(true);

      UpdateStatusToMutiAccountsTask task =
          new UpdateStatusToMutiAccountsTask(context, statusUpdate, listFailedAccount);
      task.setDialog(dialog);
      task.setRetry(false);

      EditMicroBlogTweetRetryClickListener retryClickListener =
          new EditMicroBlogTweetRetryClickListener(task);
      dialog.setPositiveClickListener(retryClickListener);
      dialog.setPositiveBtnText(R.string.btn_retry);
    } else {
      btnSend.setEnabled(true);
      Toast.makeText(context, resultMsg, Toast.LENGTH_LONG).show();
    }
  }