Program: 162415
Project: 162415
Buggy source:
/** 
 * Update UI widgets after change in shared preferences
 */
private void updateStatus(){
  if (!FtpService.isRunning()) {
    if (!FtpService.isConnectedToWifi(getContext()) && !FtpService.isConnectedToLocalNetwork(getContext()) && !FtpService.isEnabledWifiHotspot(getContext())) {
      statusText.setText(spannedStatusNoConnection);
      ftpBtn.setEnabled(false);
    }
 else {
      statusText.setText(spannedStatusNotRunning);
      ftpBtn.setEnabled(true);
    }
    ftpBtn.setText(getResources().getString(R.string.start_ftp).toUpperCase());
  }
 else {
    statusText.setText(spannedStatusConnected);
    ftpBtn.setEnabled(true);
    ftpBtn.setText(getResources().getString(R.string.stop_ftp).toUpperCase());
  }
  final String passwordDecrypted=getPasswordFromPreferences();
  final CharSequence passwordBulleted=new OneCharacterCharSequence('\u25CF',passwordDecrypted.length());
  username.setText(getResources().getString(R.string.username) + "String_Node_Str" + getUsernameFromPreferences());
  password.setText(getResources().getString(R.string.password) + "String_Node_Str" + passwordBulleted);
  ftpPasswordVisibleButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_eye_grey600_24dp));
  if (passwordDecrypted.equals("String_Node_Str")) {
    ftpPasswordVisibleButton.setVisibility(View.GONE);
  }
 else {
    ftpPasswordVisibleButton.setVisibility(View.VISIBLE);
  }
  ftpPasswordVisibleButton.setOnClickListener(v -> {
    if (password.getText().toString().contains("String_Node_Str")) {
      password.setText(getResources().getString(R.string.password) + "String_Node_Str" + passwordDecrypted);
      ftpPasswordVisibleButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_eye_off_grey600_24dp));
    }
 else {
      password.setText(getResources().getString(R.string.password) + "String_Node_Str" + passwordBulleted);
      ftpPasswordVisibleButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_eye_grey600_24dp));
    }
  }
);
  port.setText(getResources().getString(R.string.ftp_port) + "String_Node_Str" + getDefaultPortFromPreferences());
  sharedPath.setText(getResources().getString(R.string.ftp_path) + "String_Node_Str" + getDefaultPathFromPreferences());
}

Fixed version (ground truth):
/** 
 * Update UI widgets after change in shared preferences
 */
private void updateStatus(){
  if (!FtpService.isRunning()) {
    if (!FtpService.isConnectedToWifi(getContext()) && !FtpService.isConnectedToLocalNetwork(getContext()) && !FtpService.isEnabledWifiHotspot(getContext())) {
      statusText.setText(spannedStatusNoConnection);
      ftpBtn.setEnabled(false);
    }
 else {
      statusText.setText(spannedStatusNotRunning);
      ftpBtn.setEnabled(true);
    }
    url.setText("String_Node_Str");
    ftpBtn.setText(getResources().getString(R.string.start_ftp).toUpperCase());
  }
 else {
    url.setText(spannedStatusUrl);
    statusText.setText(spannedStatusConnected);
    ftpBtn.setEnabled(true);
    ftpBtn.setText(getResources().getString(R.string.stop_ftp).toUpperCase());
  }
  final String passwordDecrypted=getPasswordFromPreferences();
  final CharSequence passwordBulleted=new OneCharacterCharSequence('\u25CF',passwordDecrypted.length());
  username.setText(getResources().getString(R.string.username) + "String_Node_Str" + getUsernameFromPreferences());
  password.setText(getResources().getString(R.string.password) + "String_Node_Str" + passwordBulleted);
  ftpPasswordVisibleButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_eye_grey600_24dp));
  if (passwordDecrypted.equals("String_Node_Str")) {
    ftpPasswordVisibleButton.setVisibility(View.GONE);
  }
 else {
    ftpPasswordVisibleButton.setVisibility(View.VISIBLE);
  }
  ftpPasswordVisibleButton.setOnClickListener(v -> {
    if (password.getText().toString().contains("String_Node_Str")) {
      password.setText(getResources().getString(R.string.password) + "String_Node_Str" + passwordDecrypted);
      ftpPasswordVisibleButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_eye_off_grey600_24dp));
    }
 else {
      password.setText(getResources().getString(R.string.password) + "String_Node_Str" + passwordBulleted);
      ftpPasswordVisibleButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_eye_grey600_24dp));
    }
  }
);
  port.setText(getResources().getString(R.string.ftp_port) + "String_Node_Str" + getDefaultPortFromPreferences());
  sharedPath.setText(getResources().getString(R.string.ftp_path) + "String_Node_Str" + getDefaultPathFromPreferences());
}