Back button now does something and lockscreen can OPTIONALLY be set to stay over reboot (Implemented #146)
This commit is contained in:
@@ -23,6 +23,11 @@ void Lockscreen::start()
|
||||
|
||||
profileButtonDisabled = !settings.lockscreen.allowPresetSwitch;
|
||||
isLocked = true;
|
||||
if (settings.lockscreen.keepLockedAfterReboot && !settings.lockscreen.locked)
|
||||
{
|
||||
settings.lockscreen.locked = true;
|
||||
saveSettings();
|
||||
}
|
||||
}
|
||||
|
||||
void Lockscreen::initScreen()
|
||||
@@ -64,12 +69,12 @@ void Lockscreen::update()
|
||||
|
||||
void Lockscreen::redraw()
|
||||
{
|
||||
if (m_pressed)
|
||||
if (m_pressed || m_back_pressed)
|
||||
{
|
||||
drawRect(m_currentIndex, 1, TFT_BLACK);
|
||||
drawRect(m_currentIndex, 2, TFT_BLACK);
|
||||
|
||||
if (++m_currentIndex>=4)
|
||||
if (!m_back_pressed && ++m_currentIndex>=4)
|
||||
{
|
||||
if (m_numbers == settings.lockscreen.pin)
|
||||
{
|
||||
@@ -83,7 +88,12 @@ void Lockscreen::redraw()
|
||||
|
||||
m_numbers = {0,0,0,0};
|
||||
m_currentIndex = 0;
|
||||
std::for_each(std::begin(m_labels) + 1, std::end(m_labels), [](auto &label){ label.redraw({}); });
|
||||
std::for_each(std::begin(m_labels) + 1, std::end(m_labels), [](auto &label){ label.redraw("0"); });
|
||||
}
|
||||
else if (m_back_pressed && m_currentIndex < 3)
|
||||
{
|
||||
drawRect(m_currentIndex+1, 1, TFT_BLACK);
|
||||
drawRect(m_currentIndex+1, 2, TFT_BLACK);
|
||||
}
|
||||
|
||||
m_labels[m_currentIndex].redraw(std::to_string(m_numbers[m_currentIndex]));
|
||||
@@ -92,6 +102,7 @@ void Lockscreen::redraw()
|
||||
drawRect(m_currentIndex, 2, TFT_YELLOW);
|
||||
|
||||
m_pressed = false;
|
||||
m_back_pressed = false;
|
||||
}
|
||||
|
||||
if (m_rotated)
|
||||
@@ -124,6 +135,11 @@ void Lockscreen::stop()
|
||||
|
||||
profileButtonDisabled = false;
|
||||
isLocked = false;
|
||||
if (settings.lockscreen.keepLockedAfterReboot && settings.lockscreen.locked)
|
||||
{
|
||||
settings.lockscreen.locked = false;
|
||||
saveSettings();
|
||||
}
|
||||
}
|
||||
|
||||
void Lockscreen::confirm()
|
||||
@@ -133,6 +149,9 @@ void Lockscreen::confirm()
|
||||
|
||||
void Lockscreen::back()
|
||||
{
|
||||
if (m_currentIndex > 0)
|
||||
m_currentIndex--;
|
||||
m_back_pressed = true;
|
||||
}
|
||||
|
||||
void Lockscreen::rotate(int offset)
|
||||
|
Reference in New Issue
Block a user