@Override
 public void onClick(View view) {
   switch (view.getId()) {
     case R.id.send:
       String question = showQuestion ? questionView.getText().toString() : null;
       String answer = ((TextView) findViewById(R.id.answer)).getText().toString();
       try {
         if (answerRequest) OTRManager.getInstance().respondSmp(account, user, question, answer);
         else OTRManager.getInstance().initSmp(account, user, question, answer);
       } catch (NetworkException e) {
         Application.getInstance().onError(e);
       }
       finish();
       break;
     case R.id.cancel:
       try {
         OTRManager.getInstance().abortSmp(account, user);
       } catch (NetworkException e) {
         Application.getInstance().onError(e);
       }
       finish();
     default:
       break;
   }
 }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (isFinishing()) return;

    Intent intent = getIntent();
    account = QuestionViewer.getAccount(intent);
    user = QuestionViewer.getUser(intent);
    if (AccountManager.getInstance().getAccount(account) == null || user == null) {
      Application.getInstance().onError(R.string.ENTRY_IS_NOT_FOUND);
      finish();
      return;
    }
    if (intent.getBooleanExtra(EXTRA_FIELD_CANCEL, false)) {
      try {
        OTRManager.getInstance().abortSmp(account, user);
      } catch (NetworkException e) {
        Application.getInstance().onError(e);
      }
      finish();
      return;
    }
    showQuestion = intent.getBooleanExtra(EXTRA_FIELD_SHOW_QUESTION, true);
    answerRequest = intent.getBooleanExtra(EXTRA_FIELD_ANSWER_REQUEST, false);
    if (showQuestion) {
      setContentView(R.layout.question_viewer);
      questionView = (EditText) findViewById(R.id.question);
      questionView.setEnabled(!answerRequest);
      if (answerRequest) questionView.setText(intent.getStringExtra(Intent.EXTRA_TEXT));
      else findViewById(R.id.cancel).setVisibility(View.GONE);
    } else setContentView(R.layout.secret_viewer);
    findViewById(R.id.cancel).setOnClickListener(this);
    findViewById(R.id.send).setOnClickListener(this);
  }