Program: 78184
Project: 78184
Buggy source:
public QRCodeReaderView.OnQRCodeReadListener createQRlistener(){
  return new QRCodeReaderView.OnQRCodeReadListener(){
    @Override public void onQRCodeRead(    String text,    PointF[] points){
      System.out.println(text);
      try {
        String[] splitt=text.split("String_Node_Str");
        System.out.println(splitt.length);
        if (splitt.length == 4 || splitt.length == 2) {
          String arosend=splitt[0];
          if (arosend.equalsIgnoreCase("String_Node_Str")) {
            qrCodeReaderView.stopCamera();
            qrCodeReaderView.setQRDecodingEnabled(false);
            final String address=splitt[1];
            try {
              Double.parseDouble(splitt[2]);
            }
 catch (            Exception e) {
              showPage("String_Node_Str");
              EditText et=findViewById(R.id.addressto);
              et.setText(address);
              new MaterialDialog.Builder(HomeView.this).title("String_Node_Str").content("String_Node_Str").positiveText("String_Node_Str").show();
              return;
            }
            final Double val=Double.parseDouble(splitt[2]);
            String message=splitt[3];
            if (message.isEmpty())             message="String_Node_Str";
            new MaterialDialog.Builder(HomeView.this).title("String_Node_Str").content("String_Node_Str" + "String_Node_Str" + address + "String_Node_Str"+ doubleVal(val).replace("String_Node_Str","String_Node_Str")+ "String_Node_Str"+ message).positiveText("String_Node_Str").negativeText("String_Node_Str").onNegative(new MaterialDialog.SingleButtonCallback(){
              @Override public void onClick(              @NonNull MaterialDialog dialog,              @NonNull DialogAction which){
                replaceView(qrCodeReaderView,savedState);
                savedState=new QRCodeReaderView(HomeView.this);
                savedState.setId(R.id.receivescanner);
                savedState.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT));
                qrCodeReaderView=findViewById(R.id.receivescanner);
                qrCodeReaderView.setQRDecodingEnabled(true);
                qrCodeReaderView.startCamera();
                qrCodeReaderView.setQRDecodingEnabled(true);
                qrCodeReaderView.startCamera();
                qrCodeReaderView.bringToFront();
                qrCodeReaderView.setOnQRCodeReadListener(createQRlistener());
                qrCodeReaderView.setAutofocusInterval(1000L);
                qrCodeReaderView.setBackCamera();
                qrCodeReaderView.setQRDecodingEnabled(true);
              }
            }
).cancelable(false).onPositive(new MaterialDialog.SingleButtonCallback(){
              @Override public void onClick(              @NonNull MaterialDialog dialog,              @NonNull DialogAction which){
                makeTransaction(address,val.doubleValue(),"String_Node_Str",new Runnable(){
                  @Override public void run(){
                    replaceView(qrCodeReaderView,savedState);
                    savedState=new QRCodeReaderView(HomeView.this);
                    savedState.setId(R.id.receivescanner);
                    savedState.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT));
                    qrCodeReaderView=findViewById(R.id.receivescanner);
                    qrCodeReaderView.setQRDecodingEnabled(true);
                    qrCodeReaderView.startCamera();
                    qrCodeReaderView.setQRDecodingEnabled(true);
                    qrCodeReaderView.startCamera();
                    qrCodeReaderView.bringToFront();
                    qrCodeReaderView.setOnQRCodeReadListener(createQRlistener());
                    qrCodeReaderView.setAutofocusInterval(1000L);
                    qrCodeReaderView.setBackCamera();
                    qrCodeReaderView.setQRDecodingEnabled(true);
                  }
                }
);
              }
            }
).show();
          }
        }
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
    }
  }
;
}

Fixed version (ground truth):
public QRCodeReaderView.OnQRCodeReadListener createQRlistener(){
  return new QRCodeReaderView.OnQRCodeReadListener(){
    @Override public void onQRCodeRead(    String text,    PointF[] points){
      System.out.println(text);
      try {
        String[] splitt=text.split("String_Node_Str");
        System.out.println(splitt.length);
        if (splitt.length == 4 || splitt.length == 2) {
          String arosend=splitt[0];
          if (arosend.equalsIgnoreCase("String_Node_Str")) {
            qrCodeReaderView.stopCamera();
            qrCodeReaderView.setQRDecodingEnabled(false);
            final String address=splitt[1];
            try {
              Double.parseDouble(splitt[2]);
            }
 catch (            Exception e) {
              showPage("String_Node_Str");
              EditText et=findViewById(R.id.addressto);
              et.setText(address);
              new MaterialDialog.Builder(HomeView.this).title("String_Node_Str").content("String_Node_Str").positiveText("String_Node_Str").show();
              return;
            }
            final Double val=Double.parseDouble(splitt[2]);
            String message=splitt[3];
            if (message.isEmpty())             message="String_Node_Str";
            new MaterialDialog.Builder(HomeView.this).title("String_Node_Str").content("String_Node_Str" + "String_Node_Str" + address + "String_Node_Str"+ doubleVal(val).replace("String_Node_Str","String_Node_Str")+ "String_Node_Str"+ message).positiveText("String_Node_Str").negativeText("String_Node_Str").onNegative(new MaterialDialog.SingleButtonCallback(){
              @Override public void onClick(              @NonNull MaterialDialog dialog,              @NonNull DialogAction which){
                qrCodeReaderView=findViewById(R.id.receivescanner);
                qrCodeReaderView.setQRDecodingEnabled(true);
                qrCodeReaderView.startCamera();
                qrCodeReaderView.setQRDecodingEnabled(true);
                qrCodeReaderView.startCamera();
                qrCodeReaderView.bringToFront();
                qrCodeReaderView.setOnQRCodeReadListener(createQRlistener());
                qrCodeReaderView.setAutofocusInterval(1000L);
                qrCodeReaderView.setBackCamera();
                qrCodeReaderView.setQRDecodingEnabled(true);
              }
            }
).cancelable(false).onPositive(new MaterialDialog.SingleButtonCallback(){
              @Override public void onClick(              @NonNull MaterialDialog dialog,              @NonNull DialogAction which){
                makeTransaction(address,val.doubleValue(),"String_Node_Str",new Runnable(){
                  @Override public void run(){
                    qrCodeReaderView=findViewById(R.id.receivescanner);
                    qrCodeReaderView.startCamera();
                    qrCodeReaderView.setQRDecodingEnabled(true);
                  }
                }
);
              }
            }
).show();
          }
        }
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
    }
  }
;
}