ui: Only set brightness when needed.
There is a regression due to recent change in commit
b76af93ab56bc3296e01e65a6fe64a0622ab5b91, where it started to set
brightness to normal on every key input. This is unneeded and spamming
the recovery log.
Test: Run recovery_unit_test on marlin.
Test: Built and boot into recovery image. Press a few keys, then check
the recovery log.
Change-Id: Ia3a7ea400bcccdebbb27a6a7586e435bfb915923
diff --git a/ui.cpp b/ui.cpp
index f1e30f5..14b5b09 100644
--- a/ui.cpp
+++ b/ui.cpp
@@ -454,8 +454,7 @@
return static_cast<int>(KeyError::INTERRUPTED);
}
- // Time out after UI_WAIT_KEY_TIMEOUT_SEC, unless a USB cable is
- // plugged in.
+ // Time out after UI_WAIT_KEY_TIMEOUT_SEC, unless a USB cable is plugged in.
do {
bool rc = key_queue_cond.wait_for(lk, std::chrono::seconds(UI_WAIT_KEY_TIMEOUT_SEC), [this] {
return this->key_queue_len != 0 || key_interrupted_;
@@ -466,13 +465,13 @@
}
if (screensaver_state_ != ScreensaverState::DISABLED) {
if (!rc) {
- // Lower the brightness level: NORMAL -> DIMMED; DIMMED -> OFF.
+ // Must be after a timeout. Lower the brightness level: NORMAL -> DIMMED; DIMMED -> OFF.
if (screensaver_state_ == ScreensaverState::NORMAL) {
SetScreensaverState(ScreensaverState::DIMMED);
} else if (screensaver_state_ == ScreensaverState::DIMMED) {
SetScreensaverState(ScreensaverState::OFF);
}
- } else {
+ } else if (screensaver_state_ != ScreensaverState::NORMAL) {
// Drop the first key if it's changing from OFF to NORMAL.
if (screensaver_state_ == ScreensaverState::OFF) {
if (key_queue_len > 0) {