Program: 3585
Project: 3585
Buggy source:
@Override public void onReturn(Intent result){
switch (result.getIntExtra(OpenPgpApi.RESULT_CODE,OpenPgpApi.RESULT_CODE_ERROR)) {
case OpenPgpApi.RESULT_CODE_SUCCESS:
{
      if (requestCode == REQUEST_CODE_DECRYPT_AND_VERIFY && os != null) {
        try {
          Log.d(OpenPgpApi.TAG,"String_Node_Str" + os.toByteArray().length + "String_Node_Str"+ os.toString("String_Node_Str"));
          bindingDialog.dismiss();
          if (returnToCiphertextField) {
            findViewById(R.id.crypto_container).setVisibility(View.VISIBLE);
            String[] passContent=os.toString("String_Node_Str").split("String_Node_Str");
            ((TextView)findViewById(R.id.crypto_password_show)).setText(passContent[0]);
            String extraContent=os.toString("String_Node_Str").replaceFirst("String_Node_Str","String_Node_Str");
            if (extraContent.length() != 0) {
              ((TextView)findViewById(R.id.crypto_extra_show)).setText(extraContent);
            }
            new DelayShow().execute();
            if (settings.getBoolean("String_Node_Str",true)) {
              copyToClipBoard();
            }
          }
 else {
            showToast(os.toString());
          }
        }
 catch (        UnsupportedEncodingException e) {
          Log.e(Constants.TAG,"String_Node_Str",e);
        }
      }
      if (requestCode == REQUEST_CODE_ENCRYPT && os != null) {
        try {
          String path=getIntent().getExtras().getString("String_Node_Str") + "String_Node_Str" + ((EditText)findViewById(R.id.crypto_password_file_edit)).getText().toString()+ "String_Node_Str";
          OutputStream outputStream=FileUtils.openOutputStream(new File(path));
          outputStream.write(os.toByteArray());
          Intent data=new Intent();
          data.putExtra("String_Node_Str",path);
          data.putExtra("String_Node_Str",((EditText)findViewById(R.id.crypto_password_file_edit)).getText().toString());
          setResult(RESULT_OK,data);
          finish();
        }
 catch (        Exception e) {
          Log.e(Constants.TAG,"String_Node_Str",e);
        }
      }
      if (result.hasExtra(OpenPgpApi.RESULT_KEY_IDS)) {
        long[] ids=result.getLongArrayExtra(OpenPgpApi.RESULT_KEY_IDS);
        ArrayList<String> keys=new ArrayList<String>();
        for (int i=0; i < ids.length; i++) {
          keys.add(OpenPgpUtils.convertKeyIdToHex(ids[i]));
        }
        keyIDs=StringUtils.join(keys,"String_Node_Str");
        if (!keyIDs.isEmpty()) {
          String mKeys=keyIDs.split("String_Node_Str").length > 1 ? keyIDs : keyIDs.split("String_Node_Str")[0];
          settings.edit().putString("String_Node_Str",keyIDs).apply();
          Log.i("String_Node_Str",mKeys);
        }
        setResult(RESULT_OK);
        finish();
      }
      break;
    }
case OpenPgpApi.RESULT_CODE_USER_INTERACTION_REQUIRED:
{
    Log.i("String_Node_Str","String_Node_Str");
    PendingIntent pi=result.getParcelableExtra(OpenPgpApi.RESULT_INTENT);
    try {
      PgpHandler.this.startIntentSenderForResult(pi.getIntentSender(),requestCode,null,0,0,0);
    }
 catch (    IntentSender.SendIntentException e) {
      Log.e(Constants.TAG,"String_Node_Str",e);
    }
    break;
  }
case OpenPgpApi.RESULT_CODE_ERROR:
{
  showToast("String_Node_Str");
  OpenPgpError error=result.getParcelableExtra(OpenPgpApi.RESULT_ERROR);
  handleError(error);
  bindingDialog.dismiss();
  break;
}
}
}

Fixed version (ground truth):
@Override public void onReturn(Intent result){
switch (result.getIntExtra(OpenPgpApi.RESULT_CODE,OpenPgpApi.RESULT_CODE_ERROR)) {
case OpenPgpApi.RESULT_CODE_SUCCESS:
{
      if (requestCode == REQUEST_CODE_DECRYPT_AND_VERIFY && os != null) {
        try {
          Log.d(OpenPgpApi.TAG,"String_Node_Str" + os.toByteArray().length + "String_Node_Str"+ os.toString("String_Node_Str"));
          if (returnToCiphertextField) {
            findViewById(R.id.crypto_container).setVisibility(View.VISIBLE);
            String[] passContent=os.toString("String_Node_Str").split("String_Node_Str");
            ((TextView)findViewById(R.id.crypto_password_show)).setText(passContent[0]);
            String extraContent=os.toString("String_Node_Str").replaceFirst("String_Node_Str","String_Node_Str");
            if (extraContent.length() != 0) {
              ((TextView)findViewById(R.id.crypto_extra_show)).setText(extraContent);
            }
            new DelayShow().execute();
            if (settings.getBoolean("String_Node_Str",true)) {
              copyToClipBoard();
            }
          }
 else {
            Log.d("String_Node_Str","String_Node_Str" + os.toString());
          }
        }
 catch (        UnsupportedEncodingException e) {
          Log.e(Constants.TAG,"String_Node_Str",e);
        }
      }
      if (requestCode == REQUEST_CODE_ENCRYPT && os != null) {
        try {
          String path=getIntent().getExtras().getString("String_Node_Str") + "String_Node_Str" + ((EditText)findViewById(R.id.crypto_password_file_edit)).getText().toString()+ "String_Node_Str";
          OutputStream outputStream=FileUtils.openOutputStream(new File(path));
          outputStream.write(os.toByteArray());
          Intent data=new Intent();
          data.putExtra("String_Node_Str",path);
          data.putExtra("String_Node_Str",((EditText)findViewById(R.id.crypto_password_file_edit)).getText().toString());
          setResult(RESULT_OK,data);
          finish();
        }
 catch (        Exception e) {
          Log.e(Constants.TAG,"String_Node_Str",e);
        }
      }
      if (result.hasExtra(OpenPgpApi.RESULT_KEY_IDS)) {
        long[] ids=result.getLongArrayExtra(OpenPgpApi.RESULT_KEY_IDS);
        ArrayList<String> keys=new ArrayList<String>();
        for (int i=0; i < ids.length; i++) {
          keys.add(OpenPgpUtils.convertKeyIdToHex(ids[i]));
        }
        keyIDs=StringUtils.join(keys,"String_Node_Str");
        if (!keyIDs.isEmpty()) {
          String mKeys=keyIDs.split("String_Node_Str").length > 1 ? keyIDs : keyIDs.split("String_Node_Str")[0];
          settings.edit().putString("String_Node_Str",keyIDs).apply();
          Log.i("String_Node_Str",mKeys);
        }
        setResult(RESULT_OK);
        finish();
      }
      break;
    }
case OpenPgpApi.RESULT_CODE_USER_INTERACTION_REQUIRED:
{
    Log.i("String_Node_Str","String_Node_Str");
    PendingIntent pi=result.getParcelableExtra(OpenPgpApi.RESULT_INTENT);
    try {
      PgpHandler.this.startIntentSenderForResult(pi.getIntentSender(),requestCode,null,0,0,0);
    }
 catch (    IntentSender.SendIntentException e) {
      Log.e(Constants.TAG,"String_Node_Str",e);
    }
    break;
  }
case OpenPgpApi.RESULT_CODE_ERROR:
{
  OpenPgpError error=result.getParcelableExtra(OpenPgpApi.RESULT_ERROR);
  handleError(error);
  break;
}
}
}