Program: 13763
Project: 13763
Buggy source:
private void publishPost(){
  AccountModel account=mAccountStore.getAccount();
  if (!account.getEmailVerified()) {
    String message=TextUtils.isEmpty(account.getEmail()) ? getString(R.string.editor_confirm_email_prompt_message) : String.format(getString(R.string.editor_confirm_email_prompt_message_with_email),account.getEmail());
    AlertDialog.Builder builder=new AlertDialog.Builder(this);
    builder.setTitle(R.string.editor_confirm_email_prompt_title).setMessage(message).setPositiveButton(android.R.string.ok,new DialogInterface.OnClickListener(){
      public void onClick(      DialogInterface dialog,      int id){
        ToastUtils.showToast(EditPostActivity.this,getString(R.string.toast_saving_post_as_draft));
        savePostAndFinish();
      }
    }
).setNegativeButton(R.string.editor_confirm_email_prompt_negative,new DialogInterface.OnClickListener(){
      public void onClick(      DialogInterface dialog,      int id){
        mDispatcher.dispatch(AccountActionBuilder.newSendVerificationEmailAction());
      }
    }
);
    builder.create().show();
    return;
  }
  boolean postUpdateSuccessful=updatePostObject();
  if (!postUpdateSuccessful) {
    return;
  }
  new Thread(new Runnable(){
    @Override public void run(){
      boolean isFirstTimePublish=isFirstTimePublish();
      boolean postUpdateSuccessful=updatePostObject();
      if (!postUpdateSuccessful) {
        return;
      }
      boolean isPublishable=PostUtils.isPublishable(mPost);
      saveResult(isPublishable,false);
      if (isPublishable) {
        if (NetworkUtils.isNetworkAvailable(getBaseContext())) {
          if (mEditorFragment.hasFailedMediaUploads()) {
            EditPostActivity.this.runOnUiThread(new Runnable(){
              @Override public void run(){
                showRemoveFailedUploadsDialog();
              }
            }
);
          }
 else {
            savePostOnlineAndFinishAsync(isFirstTimePublish);
          }
        }
 else {
          savePostLocallyAndFinishAsync();
        }
      }
 else {
        EditPostActivity.this.runOnUiThread(new Runnable(){
          @Override public void run(){
            String postType=getString(mIsPage ? R.string.page : R.string.post).toLowerCase();
            String message=getString(R.string.error_publish_empty_post_param,postType);
            ToastUtils.showToast(EditPostActivity.this,message,Duration.SHORT);
          }
        }
);
      }
    }
  }
).start();
}

Fixed version (ground truth):
private void publishPost(){
  AccountModel account=mAccountStore.getAccount();
  if (!account.getEmailVerified()) {
    String message=TextUtils.isEmpty(account.getEmail()) ? getString(R.string.editor_confirm_email_prompt_message) : String.format(getString(R.string.editor_confirm_email_prompt_message_with_email),account.getEmail());
    AlertDialog.Builder builder=new AlertDialog.Builder(this);
    builder.setTitle(R.string.editor_confirm_email_prompt_title).setMessage(message).setPositiveButton(android.R.string.ok,new DialogInterface.OnClickListener(){
      public void onClick(      DialogInterface dialog,      int id){
        ToastUtils.showToast(EditPostActivity.this,getString(R.string.toast_saving_post_as_draft));
        savePostAndFinish();
      }
    }
).setNegativeButton(R.string.editor_confirm_email_prompt_negative,new DialogInterface.OnClickListener(){
      public void onClick(      DialogInterface dialog,      int id){
        mDispatcher.dispatch(AccountActionBuilder.newSendVerificationEmailAction());
      }
    }
);
    builder.create().show();
    return;
  }
  boolean postUpdateSuccessful=updatePostObject();
  if (!postUpdateSuccessful) {
    return;
  }
  new Thread(new Runnable(){
    @Override public void run(){
      boolean isFirstTimePublish=isFirstTimePublish();
      boolean postUpdateSuccessful=updatePostObject();
      if (!postUpdateSuccessful) {
        return;
      }
      boolean isPublishable=PostUtils.isPublishable(mPost);
      saveResult(isPublishable,false);
      if (isPublishable) {
        if (NetworkUtils.isNetworkAvailable(getBaseContext())) {
          if (mEditorFragment.hasFailedMediaUploads()) {
            EditPostActivity.this.runOnUiThread(new Runnable(){
              @Override public void run(){
                showRemoveFailedUploadsDialog();
              }
            }
);
          }
 else {
            savePostOnlineAndFinishAsync(isFirstTimePublish);
          }
        }
 else {
          savePostLocallyAndFinishAsync();
        }
      }
 else {
        EditPostActivity.this.runOnUiThread(new Runnable(){
          @Override public void run(){
            String message=getString(mIsPage ? R.string.error_publish_empty_page_param : R.string.error_publish_empty_post_param);
            ToastUtils.showToast(EditPostActivity.this,message,Duration.SHORT);
          }
        }
);
      }
    }
  }
).start();
}