Program: 50825
Project: 50825
Buggy source:
@Override public Dialog onCreateDialog(final Bundle savedInstanceState){
  final Bundle args=getArguments();
  final int titleResId=args.getInt(KEY_TITLE);
  final int messageResId=args.getInt(KEY_MESSAGE);
  final String subject=args.getString(KEY_SUBJECT);
  final String contextualData=args.getString(KEY_CONTEXTUAL_DATA);
  final ReportIssueDialogBuilder builder=new ReportIssueDialogBuilder(activity,titleResId,messageResId){
    @Override protected String subject(){
      return subject + "String_Node_Str" + WalletApplication.versionLine(application.packageInfo());
    }
    @Override protected CharSequence collectApplicationInfo() throws IOException {
      final StringBuilder applicationInfo=new StringBuilder();
      appendApplicationInfo(applicationInfo,application);
      return applicationInfo;
    }
    @Override protected CharSequence collectStackTrace() throws IOException {
      final StringBuilder stackTrace=new StringBuilder();
      CrashReporter.appendSavedCrashTrace(stackTrace);
      return stackTrace.length() > 0 ? stackTrace : null;
    }
    @Override protected CharSequence collectDeviceInfo() throws IOException {
      final StringBuilder deviceInfo=new StringBuilder();
      appendDeviceInfo(deviceInfo,activity);
      return deviceInfo;
    }
    @Override protected CharSequence collectContextualData(){
      return contextualData;
    }
    @Override protected CharSequence collectWalletDump(){
      return viewModel.wallet.getValue().toString(false,true,true,null);
    }
  }
;
  final AlertDialog dialog=builder.create();
  dialog.setOnShowListener(new OnShowListener(){
    @Override public void onShow(    final DialogInterface d){
      positiveButton=dialog.getButton(DialogInterface.BUTTON_POSITIVE);
      positiveButton.setEnabled(false);
    }
  }
);
  return dialog;
}

Fixed version (ground truth):
@Override public Dialog onCreateDialog(final Bundle savedInstanceState){
  final Bundle args=getArguments();
  final int titleResId=args.getInt(KEY_TITLE);
  final int messageResId=args.getInt(KEY_MESSAGE);
  final String subject=args.getString(KEY_SUBJECT);
  final String contextualData=args.getString(KEY_CONTEXTUAL_DATA);
  final ReportIssueDialogBuilder builder=new ReportIssueDialogBuilder(activity,titleResId,messageResId){
    @Override protected String subject(){
      return subject + "String_Node_Str" + WalletApplication.versionLine(application.packageInfo());
    }
    @Override protected CharSequence collectApplicationInfo() throws IOException {
      final StringBuilder applicationInfo=new StringBuilder();
      appendApplicationInfo(applicationInfo,application);
      return applicationInfo;
    }
    @Override protected CharSequence collectStackTrace() throws IOException {
      final StringBuilder stackTrace=new StringBuilder();
      CrashReporter.appendSavedCrashTrace(stackTrace);
      return stackTrace.length() > 0 ? stackTrace : null;
    }
    @Override protected CharSequence collectDeviceInfo() throws IOException {
      final StringBuilder deviceInfo=new StringBuilder();
      appendDeviceInfo(deviceInfo,activity);
      return deviceInfo;
    }
    @Override protected CharSequence collectContextualData(){
      return contextualData;
    }
    @Override protected CharSequence collectWalletDump(){
      return viewModel.wallet.getValue().toString(false,true,true,null);
    }
  }
;
  final AlertDialog dialog=builder.create();
  dialog.setOnShowListener(new OnShowListener(){
    @Override public void onShow(    final DialogInterface d){
      positiveButton=dialog.getButton(DialogInterface.BUTTON_POSITIVE);
      positiveButton.setEnabled(false);
      viewModel.wallet.observe(ReportIssueDialogFragment.this,new Observer<Wallet>(){
        @Override public void onChanged(        final Wallet wallet){
          positiveButton.setEnabled(true);
        }
      }
);
    }
  }
);
  return dialog;
}