// if no setting account, will prompt the setting ui
  @Override
  protected void loadAfterSetting() {
    super.loadAfterSetting();
    twitterA = null;

    checkTwitterAccount(this, orm.getTwitterAccount());
  }
  @Override
  protected void loadRefresh() {
    super.loadRefresh();

    if (status_id != -1) {
      Message msg = handler.obtainMessage(GET_COMMENTS);
      msg.getData().putLong(STATUS_ID, status_id);
      msg.sendToTarget();
    }
  }
  @Override
  public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    switch (requestCode) {
      case TWITTER_USER_SELECT:
        {
          if (resultCode == 100) {
            Log.d(TAG, "user select");
            String[] uids = intent.getStringArrayExtra("snames");
            if (uids == null || uids.length == 0) {
              Log.d(TAG, "no selected user");
            } else {
              currentSelected.clear();
              boolean isExist;
              String numbers = "";
              for (int i = 0; i < uids.length; i++) {
                // check whether exist
                isExist = false;
                for (int j = 0; i < currentSelected.size(); j++) {
                  if (currentSelected.get(j).equalsIgnoreCase(uids[i])) {
                    isExist = true;
                    break;
                  }
                }
                if (isExist == false) {
                  currentSelected.add(uids[i]);
                  numbers += String.valueOf(uids[i]) + ",";
                }
              }

              String originalnum = "";
              if (message_rev != null) {
                originalnum = message_rev.getAddresses(",");
              }

              if ("".equals(originalnum)) {
                message_rev.setAddresses(numbers, ",");
              } else {
                message_rev.setAddresses(originalnum + "," + numbers, ",");
              }
            }
            // no need more
            uids = null;
          }
          break;
        }
      default:
        super.onActivityResult(requestCode, resultCode, intent);
        break;
    }
  }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.twitter_compose_msg);

    textCount = (TextView) this.findViewById(R.id.twitter_message_text_counter);
    sendcontent = (EditText) this.findViewById(R.id.twitter_message_editor);
    sendcontent.setHint(getString(R.string.twitter_compose_message));
    InputFilter[] filters = new InputFilter[] {new InputFilter.LengthFilter(defaultTextLength)};
    sendcontent.setFilters(filters);
    sendcontent.setVerticalScrollBarEnabled(true);
    watcher = new MyWatcher();
    sendcontent.addTextChangedListener(watcher);

    // addresspad for send message to multiuser
    receiver_span = this.findViewById(R.id.twitter_message_receiver_span);
    message_rev = (AddressPad) this.findViewById(R.id.twitter_message_receiver_editor);
    message_revB = (Button) this.findViewById(R.id.twitter_message_receivers_button);
    twitter_mail_send_button = (Button) this.findViewById(R.id.twitter_mail_send_button);
    twitter_mail_reply_cancel = (Button) this.findViewById(R.id.twitter_mail_reply_cancel);

    commentsView = (ListView) this.findViewById(R.id.twitter_message_list);
    commentsView.setFocusableInTouchMode(true);
    commentsView.setFocusable(true);

    twitter_mail_send_button.setOnClickListener(
        new View.OnClickListener() {
          public void onClick(View arg0) {
            titleSelected();
          }
        });

    twitter_mail_reply_cancel.setOnClickListener(
        new View.OnClickListener() {
          public void onClick(View arg0) {
            TwitterComposeActivity.this.finish();
          }
        });
    // direct
    to_uid = this.getIntent().getStringExtra(TWITTER_ID);
    TWITTER_UserName = this.getIntent().getStringExtra(TWITTER_UserName);
    status_id = this.getIntent().getLongExtra(STATUS_ID, -1);
    isReply = this.getIntent().getBooleanExtra(REPLY, false);
    isForward = this.getIntent().getBooleanExtra(FORWARD, false);
    isRetweet = this.getIntent().getBooleanExtra(RETWEET, false);
    isDirect = this.getIntent().getBooleanExtra(DIRECT, false);
    isUpdate = this.getIntent().getBooleanExtra(UPDATE, false);
    isComments = this.getIntent().getBooleanExtra(COMMENTS, false);
    Log.d(
        TAG,
        "twitter_id="
            + to_uid
            + " status_id="
            + status_id
            + " reply="
            + isReply
            + " isRetweet="
            + isRetweet
            + " isDirect="
            + isDirect
            + " isUpdate"
            + isUpdate
            + " isComments="
            + isComments);

    if (isForward) // set content
    {
      String tweetContent = this.getIntent().getStringExtra(CONTENT);
      String whoname = to_uid;
      ArrayList<Follow> follows = orm.getTwitterUserByID(to_uid);
      if (follows != null && follows.size() > 0) {
        whoname = follows.get(0).SName;
      }

      sendcontent.setText("FW @" + whoname + " " + tweetContent);
    }

    if (isDirect || isForward || isReply) {
      receiver_span.setVisibility(View.VISIBLE);
      message_revB.setVisibility(View.VISIBLE);

      String tweetContent = this.getIntent().getStringExtra(CONTENT);
      if (isReply && isEmpty(tweetContent) == false) {
        sendcontent.setText(tweetContent);
      }

      initAddressBarView();
    }

    noImpactTitle = true;
    setHeadTitle(getString(R.string.menu_twitter_title_messages));

    // to remember the title
    setTitle();

    setTitle(finalTitle);
    checkTwitterAccount(this, orm.getTwitterAccount());

    twitter_action.setVisibility(View.VISIBLE);
    twitter_refresh.setVisibility(View.GONE);

    if (status_id != -1) {
      loadRefresh();
    }
  }
 @Override
 protected void setHeadTitle(String title) {
   super.setHeadTitle(title);
   twitter_mail_send_button.setText(title);
 }
  @Override
  public void setTitle(int titleId) {
    super.setTitle(titleId);

    twitter_mail_send_button.setText(getString(titleId));
  }
  @Override
  public void setTitle(CharSequence title) {
    super.setTitle(title);

    twitter_mail_send_button.setText(title);
  }