Program: 35643
Project: 35643
Buggy source:
@Override protected void onViewBound(@NonNull View view){
  super.onViewBound(view);
  NextcloudTalkApplication.getSharedApplication().getComponentApplication().inject(this);
  editText.addTextChangedListener(new TextWatcher(){
    @Override public void beforeTextChanged(    CharSequence s,    int start,    int count,    int after){
    }
    @Override public void onTextChanged(    CharSequence s,    int start,    int before,    int count){
    }
    @Override public void afterTextChanged(    Editable s){
      if (!TextUtils.isEmpty(s)) {
        if (operationCode == 2) {
          if (room.getName() == null || !room.getName().equals(s.toString())) {
            if (proceedButton.isEnabled()) {
              proceedButton.setEnabled(true);
              proceedButton.setAlpha(1.0f);
            }
          }
 else {
            if (!proceedButton.isEnabled()) {
              proceedButton.setEnabled(false);
              proceedButton.setAlpha(0.7f);
            }
            textFieldBoxes.setError(getResources().getString(R.string.nc_call_name_is_same),true);
          }
        }
 else {
          if (!proceedButton.isEnabled()) {
            proceedButton.setEnabled(true);
            proceedButton.setAlpha(1.0f);
          }
        }
      }
 else {
        if (proceedButton.isEnabled()) {
          proceedButton.setEnabled(false);
          proceedButton.setAlpha(0.7f);
        }
      }
    }
  }
);
  String labelText="String_Node_Str";
switch (operationCode) {
case 2:
    labelText=getResources().getString(R.string.nc_call_name);
  break;
case 4:
labelText=getResources().getString(R.string.nc_new_password);
break;
case 6:
case 7:
labelText=getResources().getString(R.string.nc_password);
break;
default :
break;
}
textFieldBoxes.setLabelText(labelText);
editText.requestFocus();
}

Fixed version (ground truth):
@Override protected void onViewBound(@NonNull View view){
  super.onViewBound(view);
  NextcloudTalkApplication.getSharedApplication().getComponentApplication().inject(this);
  editText.setOnEditorActionListener((v,actionId,event) -> {
    if (actionId == EditorInfo.IME_ACTION_DONE && proceedButton.isEnabled()) {
      proceedButton.callOnClick();
      return true;
    }
    return false;
  }
);
  editText.addTextChangedListener(new TextWatcher(){
    @Override public void beforeTextChanged(    CharSequence s,    int start,    int count,    int after){
    }
    @Override public void onTextChanged(    CharSequence s,    int start,    int before,    int count){
    }
    @Override public void afterTextChanged(    Editable s){
      if (!TextUtils.isEmpty(s)) {
        if (operationCode == 2) {
          if (room.getName() == null || !room.getName().equals(s.toString())) {
            if (!proceedButton.isEnabled()) {
              proceedButton.setEnabled(true);
              proceedButton.setAlpha(1.0f);
            }
          }
 else {
            if (proceedButton.isEnabled()) {
              proceedButton.setEnabled(false);
              proceedButton.setAlpha(0.7f);
            }
            textFieldBoxes.setError(getResources().getString(R.string.nc_call_name_is_same),true);
          }
        }
 else {
          if (!proceedButton.isEnabled()) {
            proceedButton.setEnabled(true);
            proceedButton.setAlpha(1.0f);
          }
        }
      }
 else {
        if (proceedButton.isEnabled()) {
          proceedButton.setEnabled(false);
          proceedButton.setAlpha(0.7f);
        }
      }
    }
  }
);
  String labelText="String_Node_Str";
switch (operationCode) {
case 2:
    labelText=getResources().getString(R.string.nc_call_name);
  break;
case 4:
labelText=getResources().getString(R.string.nc_new_password);
break;
case 6:
case 7:
labelText=getResources().getString(R.string.nc_password);
break;
default :
break;
}
textFieldBoxes.setLabelText(labelText);
editText.requestFocus();
}