Suggest using alarm management to check if the unhealthy reactor alarm is active. If it is active, we can turn off the reactor and go to off state. Then reactorUnhealthyCounter and count limit can be deleted.
This screen is a child of ScreenItem and not a StackItem. How come the pop() function is working here! Which Push, pop methods is being called here? If that's the one from SettingsStack, would be more cleaner to move the push and pop functions in the SettingsStack. It's fine for now but keep that in mind for later.
Since we have only one version request per messages definition we should not have the same request in both the VTreatmentAdjustmentDGVersions and VTreatmentAdjustmentHDVersions
I will give my suggestion but feel free to ask me if it's not clear and we need to discuss.
My suggestion is to merge these two views in one view by: 1 - rename all the version response messages properties to have HD,DG in them. 2 - merge them all in the VTreatmentAdjustmentHDVersions 3 - make the VTreatmentAdjustmentHDVersions to listen to the DG version response message as well by adding the line below in the VTreatmentAdjustmentHDVersions initConnection method.
Note : please reorder the lines in initConnection to have first the HD and then DG and also have the request first and then responses, now that we have more that two category of messages. 4 - remove the HD from the name of the VTreatmentAdjustmentHDVersions to be VTreatmentAdjustmentVersions . 5 - remove the two VTreatmentAdjustmentDGVersions (.h , .cpp) files and all it's references in the View.h and Globals.
I put some comments as notes which don't require to be fixed in this code review but it is expected to be noted and resolved in later on going stories. So please take notes and consider applying them to any recent story/task.
In general please try to use less components. Components should be more general and not specific to a screen. If that is the case think of it as a big(which I call it compound) component and put it in the compounds folder(which I recently created). Please note that either way we still should create less components/compounds.