advanced lock

This commit is contained in:
CommanderRedYT
2021-12-17 22:40:08 +01:00
parent bcfbb98362
commit b48648f3e2
3 changed files with 24 additions and 10 deletions

View File

@ -5,6 +5,7 @@
#include <screenmanager.h> #include <screenmanager.h>
// local includes // local includes
#include "displays/menus/mainmenu.h"
#include "displays/statusdisplay.h" #include "displays/statusdisplay.h"
#include "displays/menus/boardcomputerhardwaresettingsmenu.h" #include "displays/menus/boardcomputerhardwaresettingsmenu.h"
@ -241,6 +242,12 @@ void CalibrateDisplay::back()
case Status::Begin: case Status::Begin:
if (m_bootup) if (m_bootup)
espgui::switchScreen<StatusDisplay>(); espgui::switchScreen<StatusDisplay>();
else if (settings.lockscreen.keepLockedAfterReboot && settings.lockscreen.locked)
{
espgui::switchScreen<MainMenu>();
settings.lockscreen.locked = false;
saveSettings();
}
else else
espgui::switchScreen<BoardcomputerHardwareSettingsMenu>(); espgui::switchScreen<BoardcomputerHardwareSettingsMenu>();
break; break;

View File

@ -10,6 +10,7 @@
#include "texts.h" #include "texts.h"
#include "buttons.h" #include "buttons.h"
#include "displays/menus/mainmenu.h" #include "displays/menus/mainmenu.h"
#include "displays/calibratedisplay.h"
void Lockscreen::start() void Lockscreen::start()
{ {
@ -78,7 +79,10 @@ void Lockscreen::redraw()
{ {
if (m_numbers == settings.lockscreen.pin) if (m_numbers == settings.lockscreen.pin)
{ {
espgui::switchScreen<MainMenu>(); if (!gas || !brems || *gas > 200.f || *brems > 200.f)
espgui::switchScreen<CalibrateDisplay>(true);
else
espgui::switchScreen<MainMenu>();
#ifdef LOCKSCREEN_PLUGIN #ifdef LOCKSCREEN_PLUGIN
#pragma message "Activating Lockscreen Plugin" #pragma message "Activating Lockscreen Plugin"
#include LOCKSCREEN_PLUGIN #include LOCKSCREEN_PLUGIN
@ -135,10 +139,13 @@ void Lockscreen::stop()
profileButtonDisabled = false; profileButtonDisabled = false;
isLocked = false; isLocked = false;
if (settings.lockscreen.keepLockedAfterReboot && settings.lockscreen.locked) if (!(!gas || !brems || *gas > 200.f || *brems > 200.f))
{ {
settings.lockscreen.locked = false; if (settings.lockscreen.keepLockedAfterReboot && settings.lockscreen.locked)
saveSettings(); {
settings.lockscreen.locked = false;
saveSettings();
}
} }
} }

View File

@ -234,14 +234,14 @@ extern "C" void app_main()
switchScreen<DPad6WireDebugDisplay>(); switchScreen<DPad6WireDebugDisplay>();
#else #else
if (!gas || !brems || *gas > 200.f || *brems > 200.f) if (settings.lockscreen.keepLockedAfterReboot && settings.lockscreen.locked)
espgui::switchScreen<CalibrateDisplay>(true); {
espgui::switchScreen<Lockscreen>();
}
else else
{ {
if (settings.lockscreen.keepLockedAfterReboot && settings.lockscreen.locked) if (!gas || !brems || *gas > 200.f || *brems > 200.f)
{ espgui::switchScreen<CalibrateDisplay>(true);
espgui::switchScreen<Lockscreen>();
}
else else
{ {
espgui::switchScreen<StatusDisplay>(); espgui::switchScreen<StatusDisplay>();