When temperature control is set to off, the code that sets it to "off" also sets the fridgeSetting to INVALID_TEMP. The code that processes the temp mode overrides the mode to IDLE if the fridgeSetting is set to INVALID_TEMP resulting in MODE_OFF never being (properly) applied.
The result appears to be a race condition, where the LCD can end up with improper idle times printed over the top of a temp control off message, in addition to an inconsistent state more broadly.
When temperature control is set to off, the code that sets it to "off" also sets the fridgeSetting to
INVALID_TEMP
. The code that processes the temp mode overrides the mode toIDLE
if the fridgeSetting is set toINVALID_TEMP
resulting inMODE_OFF
never being (properly) applied.The result appears to be a race condition, where the LCD can end up with improper idle times printed over the top of a temp control off message, in addition to an inconsistent state more broadly.